मैं अपने कार्यक्रम के कुछ हिस्सों के निष्पादन द्वारा उठाए गए मिलीसेकंड में समय की गणना करना चाहता हूं। मैं ऑनलाइन देख रहा हूं, लेकिन इस विषय पर ज्यादा जानकारी नहीं है। आप में से कोई भी यह कैसे जानता है?मिलीसेकंड में सी प्रोग्राम में बीत चुके समय की गणना
उत्तर
सी पुस्तकालयों में आपको सिस्टम का समय प्राप्त करने के लिए एक फ़ंक्शन है। आप स्टार्ट और स्टॉप टाइम्स कैप्चर करने के बाद बीत चुके समय की गणना कर सकते हैं।
फ़ंक्शन को gettimeofday() कहा जाता है और आप यह जानने के लिए मैन पेज को देख सकते हैं कि इसमें क्या शामिल होना है और इसका उपयोग कैसे किया जाए।
Windows पर, आप सिर्फ यह कर सकते हैं:
DWORD dwTickCount = GetTickCount();
// Perform some things.
printf("Code took: %dms\n", GetTickCount() - dwTickCount);
नहीं सबसे सामान्य/सुरुचिपूर्ण समाधान है, लेकिन अच्छा और त्वरित आवश्यकता पड़ने पर नियंत्रित।
gettimeofday
समारोह (, अगर मंच है कि समर्थन कर सकते हैं निश्चित रूप से) माइक्रोसेकंड परिशुद्धता के साथ समय देता है:
gettimeofday() फ़ंक्शन वर्तमान समय प्राप्त करेगा, सेकंड और माइक्रोसेकंड के बाद के रूप में व्यक्त युग, और समय-समय पर इसे स्टोर करें संरचना टीपी द्वारा इंगित की गई। सिस्टम घड़ी का संकल्प निर्दिष्ट नहीं है।
'gettimeofday' isn दो घटनाओं के बीच विलुप्त समय को मापने के लिए बहुत अच्छा नहीं है, क्योंकि सिस्टम समय-समय पर घड़ी घटनाओं के बीच बदला जा सकता है (उदाहरण के लिए। एनटीपी अपडेट द्वारा, या बस व्यवस्थापक कार्रवाई)। (कभी-कभी यह * उपलब्ध सर्वोत्तम चीज़ है)। – caf
एक और विकल्प (कम से कम कुछ यूनिक्स पर) clock_gettime और संबंधित कार्य है। ये विभिन्न रीयलटाइम घड़ियों तक पहुंच की इजाजत देता है और आप उच्च रिज़ॉल्यूशन वाले लोगों में से एक का चयन कर सकते हैं और उस रिज़ॉल्यूशन को फेंक सकते हैं जिसकी आपको आवश्यकता नहीं है। जवाब देने के लिए
विशेष रूप से, 'CLOCK_MONOTONIC' घड़ी, यदि आप जिस सिस्टम पर चल रहे हैं उसका समर्थन करता है ('sysconf (_SC_MONOTONIC_CLOCK)> 0')। – caf
सबसे अच्छा तरीका है एक उदाहरण के साथ है:
#include <sys/time.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
/* Return 1 if the difference is negative, otherwise 0. */
int timeval_subtract(struct timeval *result, struct timeval *t2, struct timeval *t1)
{
long int diff = (t2->tv_usec + 1000000 * t2->tv_sec) - (t1->tv_usec + 1000000 * t1->tv_sec);
result->tv_sec = diff/1000000;
result->tv_usec = diff % 1000000;
return (diff<0);
}
void timeval_print(struct timeval *tv)
{
char buffer[30];
time_t curtime;
printf("%ld.%06ld", tv->tv_sec, tv->tv_usec);
curtime = tv->tv_sec;
strftime(buffer, 30, "%m-%d-%Y %T", localtime(&curtime));
printf(" = %s.%06ld\n", buffer, tv->tv_usec);
}
int main()
{
struct timeval tvBegin, tvEnd, tvDiff;
// begin
gettimeofday(&tvBegin, NULL);
timeval_print(&tvBegin);
// lengthy operation
int i,j;
for(i=0;i<999999L;++i) {
j=sqrt(i);
}
//end
gettimeofday(&tvEnd, NULL);
timeval_print(&tvEnd);
// diff
timeval_subtract(&tvDiff, &tvEnd, &tvBegin);
printf("%ld.%06ld\n", tvDiff.tv_sec, tvDiff.tv_usec);
return 0;
}
- 1. वीबीए में सेकंड में बीत चुके समय की गणना कैसे करें?
- 2. आवेदन शुरू होने के बाद से बीत चुके समय
- 3. रुबी में मिलीसेकंड में मैं समय बीत चुका हूं?
- 4. पायथन - एक्स तिथि के बाद से बीत चुके समय की गणना कैसे करें?
- 5. युग से मिलीसेकंड की गणना
- 6. सी ++ प्रोग्राम
- 7. समय समाप्ति की अवधि बीत पूल
- 8. मिलीसेकंड में PHP फ़ाइल संशोधन समय
- 9. दिनांक तुलना - 20 मिनट बीत चुके हैं या नहीं?
- 10. एएनएसआई सी का उपयोग कर मिलीसेकंड में समय कैसे मापें?
- 11. सी ++ समय, मिलीसेकंड पिछले पूरे दूसरे
- 12. पायथन में समय की गणना (डेटाटाइम.timedelta?)
- 13. सी ++ कोड में फिबोनाची संख्याओं की गणना
- 14. सी # में एफएमओडी की गणना कैसे करें?
- 15. बैश स्क्रिप्ट में मिलीसेकंड में विलुप्त समय कैसे प्राप्त करें?
- 16. सी ++ मिलीसेकंड प्राप्त करें क्योंकि
- 17. 1 मिलीसेकंड
- 18. पायथन समय (मिली सेकंड) गणना
- 19. मैं मिलीसेकंड की मात्रा को मिनटों में कैसे प्रारूपित करूं: सेकंड: PHP में मिलीसेकंड?
- 20. सी प्रोग्राम में टेलनेट का उपयोग
- 21. सी # में एक स्ट्रिंग की प्रदर्शन चौड़ाई की गणना करें?
- 22. * मिलीसेकंड *
- 23. ऑडियो बाहर की गणना करने में कैसे
- 24. सी # में COM ऑब्जेक्ट के सदस्यों की गणना कैसे करें?
- 25. एंड्रॉइड - लंबी अवधि में समय की गणना कैसे करें
- 26. फेसबुक एप्लिकेशन में बिताए गए समय की गणना कैसे करें?
- 27. भूगर्भीय दूरी की गणना करते समय ऊंचाई में लेना
- 28. मिलीसेकंड में एमएफसी उपाय फ़ंक्शन
- 29. सी प्रोग्राम निष्पादन की गति
- 30. पावरहेल का उपयोग कर मिलीसेकंड में समय पाएं?
सम्मेलन के साथ लाइन में और अधिक Retagged। – dmckee
एचएम ... क्या मैंने एक सप्ताह पहले इस प्रश्न का उत्तर नहीं दिया था: http://stackoverflow.com/questions/1444428/time-stamp-in-the-c-programming-language/1445808#1445808 – Christoph