मैं पाइथन प्रोग्राम, में कोड के ब्लॉक का मूल्यांकन करने के लिए समाप्त समय को मापना चाहता हूं, संभवतः उपयोगकर्ता सीपीयू समय, सिस्टम सीपीयू समय और विलुप्त समय के बीच अलग हो रहा है।पायथन में कोड के ब्लॉक के निष्पादन का समय प्राप्त करें 2.7
मुझे timeit
मॉड्यूल पता है, लेकिन मेरे पास कई आत्म-लिखित कार्य हैं और सेटअप प्रक्रिया में उन्हें पास करने के लिए बहुत आसान नहीं है।
मैं नहीं बल्कि कुछ ऐसा है जो की तरह इस्तेमाल किया जा सकता होगा:
#up to here I have done something....
start_counting() #or whatever command used to mark that I want to measure
#the time elapsed in the next rows
# code I want to evaluate
user,system,elapsed = stop_counting() #or whatever command says:
#stop the timer and return the times
उपयोगकर्ता और सिस्टम सीपीयू बार आवश्यक (हालांकि मैं उन्हें मापने के लिए चाहते हैं) नहीं हैं, लेकिन बीता हुआ समय के लिए मैं चाहूँगा जटिल आदेशों या मॉड्यूल का उपयोग करने के बजाय इस तरह कुछ करने में सक्षम होने के लिए।
मुझे लगता है कि पढ़ लिया है में सीपीयू और दीवार समय पाने के लिए - - अभिव्यक्ति पर सीधे सीपीयू और दीवार समय
%timeit <expression>
पाने के लिए%time <expression>
: IPython में आप उपयोगी सामग्री का एक बहुत से अधिक हो गया यह कोड के ब्लॉक के लिए सबसे अच्छा तरीका नहीं है जो चलाने के लिए केवल दूसरे का एक अंश लेता है। मुझे लगता है कि समय मॉड्यूल का उपयोग करते हुए .clock() विधि को प्राथमिकता दी जाती है? http://stackoverflow.com/questions/85451/python-time-clock-vs-time-time-accuracy – lucacerone'timeit.default_timer()' का उपयोग करने के लिए मेरा उत्तर बदल गया, जो 'time.time()' के बीच चयन करेगा। या 'time.clock()' जिस पर आप उपयोग कर रहे प्लेटफ़ॉर्म पर उच्च रिज़ॉल्यूशन रखते हैं। –
धन्यवाद, default_timer() बेहतर लगता है। इस पृष्ठ में सलाह भी बहुत अच्छी लगती है! http://www.huyng.com/posts/python-performance-analysis/ – lucacerone