पायथन के मानक पुस्तकालय के टाइमिट मॉड्यूल में टाइमर वर्ग और अन्य सुविधा कार्यों को निष्पादित करने के लिए पायथन कोड के छोटे बिट्स द्वारा लिए गए समय को मापने के लिए एक तंत्र प्रदान करने के लिए डिज़ाइन किया गया है। मॉड्यूल में एक कमांड लाइन इंटरफ़ेस है और फ़ंक्शन को प्रोग्राम के भीतर से भी कॉल किया जा सकता है।
निष्पादन के समय को मापने का सबसे आसान तरीका निम्नलिखित सुविधा फ़ंक्शन का उपयोग करना है
टाइमिट ()
यह फ़ंक्शन टाइमर क्लास का ऑब्जेक्ट देता है। इसके लिए मुख्य रूप से दो मापदंडों की आवश्यकता होती है।
-
stmt - एक स्ट्रिंग जिसमें वैध पायथन स्टेटमेंट होता है जिसका निष्पादन समय मापा जाना है।
-
सेटअप - एक स्ट्रिंग जिसमें पायथन स्टेटमेंट होता है, जिसे एक बार निष्पादित किया जाएगा, मुख्य रूप से कुछ ऑब्जेक्ट्स या वेरिएबल्स को इनिशियलाइज़ करने के लिए।
दोनों स्ट्रिंग्स में सेमी कोलन (;) या न्यूलाइन द्वारा अलग किए गए कई स्टेटमेंट हो सकते हैं, और दोनों कीवर्ड पास करने के लिए डिफ़ॉल्ट हैं। एक अन्य वैकल्पिक पैरामीटर संख्या दी जा सकती है जो 'stmt' के निष्पादन की संख्या को दर्शाती है
निम्नलिखित उदाहरण में, 0-100 की श्रेणी में संख्याओं के संचयी जोड़ को हज़ार गुना करने के लिए आवश्यक समय मापा जाता है।
import timeit setupcode = "s = 0" function = ''' for x in range(100): s = s + x ''' print (timeit.timeit(setup = setupcode, stmt = function, number = 1000))
यहां एक स्ट्रिंग में लूप के लिए होता है जिसमें 0-100 की सीमा के भीतर संख्याएं जोड़ी जाती हैं। यह स्ट्रिंग stmt पैरामीटर है। इसके अलावा, एक वैरिएबल का इनिशियलाइज़ेशन एक सेटअपकोड स्ट्रिंग द्वारा किया जाता है। टाइमिट () फ़ंक्शन सेकंड में आवश्यक समय की गणना करता है।
आउटपुट
0.03055878530880241
टाइमर क्लास
पहले टाइमर ऑब्जेक्ट बनाकर और फिर उस पर टाइमिट () विधि निष्पादित करके वही परिणाम प्राप्त किया जा सकता है।
दोहराना ()
Timeit () को बार-बार कॉल करने के लिए Timer क्लास में रिपीट () मेथड भी होता है। यह सभी कॉलों की सूची देता है।
उपरोक्त कोड का एक वस्तु उन्मुख संस्करण इस प्रकार है -
import timeit setupcode = "s = 0" function = ''' for x in range(100): s = s + x ''' t = timeit.Timer(setup = setupcode, stmt = function) print (t.timeit(number = 1000)) print ('calling repeat() :',t.repeat(3,1000))
आउटपुट
0.019971274194651528 calling repeat() : [0.023369810546474253, 0.020518432391765262, 0.02075439436427058]
कमांड लाइन इंटरफ़ेस
जैसा कि पहले उल्लेख किया गया है, टाइमिट मॉड्यूल में एक कमांड लाइन इंटरफ़ेस है। पायथन स्क्रिप्ट के निष्पादन के लिए कमांड लाइन में -m विकल्प का उपयोग करके मॉड्यूल को ही आयात किया जाता है। निम्नलिखित कमांड लाइन विकल्प विभिन्न पैरामीटर लाइन सेटअप और निष्पादन योग्य कोड, दोहराव आवृत्ति, आदि को परिभाषित करते हैं।
-n N, --number =N | कितनी बार 'कथन' निष्पादित करना है |
-r N, --repeat =N | कितनी बार टाइमर दोहराना है (डिफ़ॉल्ट 3) |
-s S, --setup =S | प्रारंभ में एक बार निष्पादित होने वाला विवरण (डिफ़ॉल्ट पास) |
-v, --verbose | कच्चे समय के परिणाम प्रिंट करें; अधिक अंकों की सटीकता के लिए दोहराएं |
-h, --help | एक संक्षिप्त उपयोग संदेश प्रिंट करें और बाहर निकलें |
पहले इस्तेमाल किए गए उदाहरण कोड के समतुल्य कमांड लाइन निम्नलिखित है -
C:\Users\acer>python -m timeit -s "s = 0" "for x in range(100): s = s + x" 10000 loops, best of 3: 22.4 usec per loop