मैं उत्सुक हूँ अगर वहाँ निष्पादन समय को मापने के लिए सी में एक निर्माण में समारोह ++ है? मैं इस समय विंडोज का उपयोग कर रहा हूं। लिनक्स में यह बहुत आसान है ...खोजने C++ निष्पादन समय
उत्तर
विंडोज़ पर सबसे अच्छा तरीका, जहां तक मुझे पता है, QueryPerformanceCounter
और QueryPerformanceFrequency
का उपयोग करना है।
QueryPerformanceCounter(LARGE_INTEGER*)
स्थानों LARGE_INTEGER में प्रदर्शन काउंटर के मूल्य पारित कर दिया।
QueryPerformanceFrequency(LARGE_INTEGER*)
स्थानों आवृत्ति प्रदर्शन काउंटर LARGE_INTEGER में वृद्धि की जाती है पारित कर दिया।
फिर आप काउंटर को रिकॉर्ड करके निष्पादन समय मिल सकता है के रूप में निष्पादन शुरू होता है, और फिर काउंटर रिकॉर्डिंग जब निष्पादन खत्म। काउंटर के परिवर्तन को पाने के लिए अंत से शुरुआत को घटाएं, फिर सेकेंड में समय प्राप्त करने के लिए आवृत्ति से विभाजित करें।
LARGE_INTEGER start, finish, freq;
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&start);
// Do something
QueryPerformanceCounter(&finish);
std::cout << "Execution took "
<< ((finish.QuadPart - start.QuadPart)/(double)freq.QuadPart) << std::endl;
यह भी Windows के तहत बहुत आसान है - वास्तव में यह दोनों std::clock, d पर एक ही समारोह <ctime>
सी ++ में efined कोड निष्पादन समय को मापने के उच्च का पठन स्तर के लिए कोई बिल्ट-इन कार्य गया है , आपको प्लेटफ़ॉर्म-विशिष्ट कोड का सहारा लेना होगा। Windows के लिए कोशिश QueryPerformanceCounter: http://msdn.microsoft.com/en-us/library/ms644904(VS.85).aspx
कार्यों का उपयोग करना चाहिए टाइमर के संकल्प की जरूरत पर निर्भर हैं। उनमें से कुछ 10 एमएमएस संकल्प देते हैं। उन कार्यों का उपयोग करना आसान है। दूसरों को अधिक काम की आवश्यकता होती है, लेकिन बहुत अधिक रिज़ॉल्यूशन देते हैं (और कुछ वातावरण में आपको कुछ सिरदर्द हो सकता है। हालांकि, आपकी देव मशीन ठीक काम कर सकती है)।
http://www.geisswerks.com/ryan/FAQS/timing.html
इस लेख का उल्लेख है:
- timeGetTime
- RDTSC (एक प्रोसेसर सुविधा, न कि एक ओएस सुविधा)
- QueryPerformanceCounter
आप उपयोग कर सकते हैं Windows API फंक्शन GetTickCount() और सेंट पर मानों की तुलना करें कला और अंत। संकल्प 16 एमएस ballpark में है। किसी कारण से आप अधिक परिष्कृत समय की जरूरत है, तो आप QueryPerformanceCounter को देखने के लिए की आवश्यकता होगी।
सी ++ कई प्लेटफ़ॉर्म पर काम करता है। कुछ प्लेटफॉर्म पर काम करने वाले कुछ का उपयोग क्यों न करें, जैसे कि Boost लाइब्रेरीज़। Boost Timer Library
के लिए दस्तावेज़ पर
देखो मुझे विश्वास है कि यह एक शीर्ष लेख-केवल पुस्तकालय, जिसका अर्थ है कि यह सेटअप और उपयोग करने के लिए सरल है ...
- 1. निष्पादन समय
- 2. सी ++ संकलन समय फ़ंक्शन निष्पादन
- 3. अधिकतम निष्पादन समय घातक त्रुटि
- 4. mysql निष्पादन समय
- 5. ओरेकल क्वेरी निष्पादन समय
- 6. "असली" निष्पादन समय सीमा
- 7. एमपीआई वैश्विक निष्पादन समय
- 8. MySQL क्वेरी निष्पादन समय
- 9. प्रिंटिंग चींटी लक्ष्य निष्पादन समय
- 10. एंड्रॉइड में समय कोड निष्पादन
- 11. अधिकतम निष्पादन समय त्रुटि हैंडलिंग
- 12. जावा में CPU निष्पादन समय
- 13. आर पैकेज और निष्पादन समय
- 14. सी # 2.0 निष्पादन समय टाइमर
- 15. हाइबरनेट शो क्वेरी निष्पादन समय
- 16. symfony2 - निष्पादन समय प्राप्त करें
- 17. PHP: 30 सेकंड का अधिकतम निष्पादन समय
- 18. POSIX फ़ंक्शन निष्पादन योग्य के लिए पथ खोजने के लिए?
- 19. घातक त्रुटि: c: \ wamp \ www \ drupal2 \ में 30 सेकंड का अधिकतम निष्पादन समय \ 55.in
- 20. कुल निष्क्रिय समय खोजने के लिए एल्गोरिदम प्रारंभ/समाप्ति समय
- 21. linq C# में अजीब व्यवहार निष्पादन में देरी के तहत
- 22. PHP निष्पादन समय सीमा से बचें
- 23. set_time_limit (0) और "अधिकतम निष्पादन समय" पीएचपी
- 24. PHP अधिकतम निष्पादन समय त्रुटि फँसाने
- 25. रूबी - निष्पादन की समय सीमा समाप्त
- 26. mysql कमांड लाइन वापसी निष्पादन समय?
- 27. C++ टेम्पलेट विशेषज्ञता संकलन समय मूल्य
- 28. गैर निष्पादन निष्पादन योग्य फ़ाइल
- 29. सेट रेल टाइमआउट का अनुरोध (निष्पादन की समय सीमा समाप्त)
- 30. खोजने लंबाई