दिलचस्प पोस्ट
<<से अधिक <<है? सरणी की गहरी कॉपी कैसे करें? जावा में फ़ाइल पथ में बैकस्लैश और स्वचालित रूप से उत्पन्न एस्केप वर्ण से कैसे बचें अजगर के साथ विंडोज़ शेल कमांड चलाना एक संग्रहीत प्रक्रिया क्या है? पायथन कोड फ़ंक्शन में तेजी से क्यों चलता है? एक संशोधित प्रीर्डर ट्री ट्रवर्सल मॉडल (नेस्टेड सेट) को एक <ul> में लेना Datetime के लिए डीडी / एमएम / य्याय स्वरूपित स्ट्रिंग परिवर्तित करना क्या SHA परिवार कार्यों की तुलना में एमडी 5 हैश कम सीपीयू की गणना है? मीडिया प्रश्नों का क्रम सीएसएस में क्यों होता है? आईओएस ऐप संग्रह को एक्सकोड में नहीं बनाया जा सकता आईओएस पर एक फाइल लिखें MySQL के लिए स्केलिंग समाधान (प्रतिकृति, क्लस्टरिंग) प्रत्येक दूसरे पर निर्भर गुणों को कैसे प्रारंभ करें एंड्रॉइड में एक अनुरोध में एक छवि और ऑडियो अपलोड करें

स्टॉपवॉच बनाम। का उपयोग करते हुए सिस्टम.डेटाइट.अब समय के लिए घटनाओं

मैं अपने कोड के प्रदर्शन को ट्रैक करना चाहता था, इसलिए मैं System.DateTime.Now का इस्तेमाल करते हुए शुरू और समाप्ति समय को संग्रहीत करता हूं। मैंने अपने कोड को निष्पादित करने के समय के बीच में अंतर लिया

मैंने देखा कि हालांकि अंतर सही नहीं दिखता था। इसलिए मैंने एक Stopwatch ऑब्जेक्ट का उपयोग करने की कोशिश की यह बहुत अधिक, अधिक सटीक साबित हुआ

क्या कोई मुझे बता सकता है कि क्यों Stopwatch System.DateTime.Now का इस्तेमाल करते हुए शुरू और समाप्ति समय के बीच के अंतर की तुलना में अधिक सटीक System.DateTime.Now ?

बीटीडब्ल्यू, मैं एक प्रतिशत के दसवां अंश के बारे में बात नहीं कर रहा हूँ मुझे 15-20% अंतर मिल रहा है

वेब के समाधान से एकत्रित समाधान "स्टॉपवॉच बनाम। का उपयोग करते हुए सिस्टम.डेटाइट.अब समय के लिए घटनाओं"

एमएसडीएन के अनुसार:

अंतराल टाइमर तंत्र में टाइमर टिक्स की गणना करते हुए स्टॉपवॉच का समय बीत चुका है। यदि स्थापित हार्डवेयर और ऑपरेटिंग सिस्टम एक उच्च-रिज़ॉल्यूशन प्रदर्शन काउंटर का समर्थन करता है, तो स्टॉपवॉच क्लास उस काउंटर का उपयोग उस समय को मापने के लिए करता है। अन्यथा, स्टॉपवॉच क्लास समय बीतने के लिए सिस्टम टाइमर का उपयोग करता है। स्टॉपवॉच समय कार्यान्वयन के सटीक और रिज़ॉल्यूशन को निर्धारित करने के लिए फ़्रिक्वेंसी और इशहा रिज़ोल्यूशन फ़ील्ड का उपयोग करें।

यह DateTime.Now तुलना में एक उच्च संकल्प / सटीक उपयोग करता है।

आप इन संबंधित लिंक भी देख सकते हैं:

पर्यावरण.टिककाउंट बनाम दिनांकटाइम.अब

क्या फ़ंक्शन के प्रदर्शन को मापने का सबसे अच्छा तरीका है?

DateTime दूसरे के लिए सटीक के लिए काफी अच्छा है, लेकिन इससे कुछ भी कि मैं StopWatch की सिफारिश करेगा

स्टॉपवॉच वर्ग का उपयोग करना बेहतर है क्योंकि यह दिनांक समय मानों को घटाकर अधिक सटीक है:

 Stopwatch s = Stopwatch.StartNew(); // Tested code here s.Stop(); Console.WriteLine("Elapsed Time: {0} ms", s.ElapsedMilliseconds); 

दुर्भाग्य से, कोड का यह सरल भाग सटीक माप प्राप्त करने के लिए पर्याप्त नहीं होगा क्योंकि ओएस के हुड के चलते बहुत सी गतिविधि होती है, जो कुछ सीपीयू समय चुरा सकता है और आपके कोड का निष्पादन धीमा कर सकता है। यही कारण है कि परीक्षण को कई बार निष्पादित करना सबसे अच्छा है और फिर सबसे कम और उच्चतम समय निकाल दें उस puprose के लिए यह एक तरीका है कि परीक्षण कोड को कई बार निष्पादित करता है, सबसे कम और सबसे ज्यादा समय निकालता है और औसत समय की गणना करता है। मैंने अपने ब्लॉग में एक नमूना परीक्षण विधि प्रकाशित की है

यह समय फ़ंक्शन प्रदर्शन लिंक आपकी सटीक समस्या की चर्चा करता है, विशेष रूप से इस अनुच्छेद:

समस्या यह है कि एमएसडीएन के अनुसार डेटटाइम का रिज़ॉल्यूशन.अब फ़ंक्शन 10+ मिलीसेकंड है, और हमें इसे दो बार कॉल करने की ज़रूरत है! ताकि आपके रनटाइम मापन में 20+ एमएस स्विंग पेश किया जा सके। चूंकि हमारे फ़ंक्शन कॉल्स अक्सर 20 मिलीमीटर की खिड़की से लौटने के लिए बहुत तेज होने की संभावना होती है, यह बहुत अच्छा नहीं है

संपादित करें: यह दूसरी तरह की आवाज की तरह लगता है। अब स्टॉपवॉच विधि समाप्त होने के समय से अलग समय पर फोन किया जा रहा है।