उदाहरणों के साथ पायथन टाइमिट ()

विषय - सूची:

Anonim

पायथन टाइमिट () क्या है?

पायथन टाइमिट () दिए गए कोड स्निपेट द्वारा लिए गए निष्पादन समय को मापने के लिए पायथन लाइब्रेरी में एक विधि है। पायथन लाइब्रेरी कोड स्टेटमेंट को 1 मिलियन बार चलाता है और दिए गए कोड स्निपेट्स के सेट से लिया गया न्यूनतम समय प्रदान करता है। पायथन टाइमिट () एक उपयोगी विधि है जो कोड के प्रदर्शन को जांचने में मदद करती है।

वाक्य - विन्यास:

timeit.timeit(stmt, setup,timer, number)

मापदंडों

  • stmt : यह वह कोड लेगा जिसके लिए आप निष्पादन समय को मापना चाहते हैं। डिफ़ॉल्ट मान "पास" है।
  • सेटअप : इसमें सेटअप विवरण होगा जिसे stmt से पहले निष्पादित किया जाना चाहिए। डिफ़ॉल्ट मान "पास" है।
  • टाइमर : इसमें टाइमर मान होगा, टाइमिट () में पहले से ही एक डिफ़ॉल्ट मूल्य सेट है, और हम इसे अनदेखा कर सकते हैं।
  • संख्या : यहाँ दिए गए नंबर के अनुसार stmt निष्पादित होगा। डिफ़ॉल्ट मान 1000000 है।

टाइमटाइम () के साथ काम करने के लिए, हमें मॉड्यूल को आयात करने की आवश्यकता है, जैसा कि नीचे दिखाया गया है:

import timeit

पहला उदाहरण

यहाँ timeit () फ़ंक्शन का एक सरल उदाहरण है

कोड उदाहरण 1:

# testing timeit()import timeitprint(timeit.timeit('output = 10*5'))

आउटपुट:

0.06127880399999999

हमने एक सरल उदाहरण देखा है जो हमें सरल कोड स्टेटमेंट आउटपुट = 10 * 5 का निष्पादन समय देता है, और इसे निष्पादित करने के लिए लिया गया समय 0.061278803999999 है।

अजगर कोड में कई लाइनों का समय

वहाँ दो हैं आप timeit.timeit () में अर्धविराम का उपयोग करके या ट्रिपल कोट्स के साथ एक स्ट्रिंग के रूप में संलग्न कोड को सहेजकर कोड की कई पंक्तियों को निष्पादित कर सकते हैं।

यहां ऐसे उदाहरण दिए गए हैं जो इसके कार्य को दर्शाते हैं।

उदाहरण 1: अर्धविराम का उपयोग करना

import timeitprint("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))

आउटपुट:

The time taken is 0.137031482

उदाहरण 2: ट्रिपल कोट्स का उपयोग करना

import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.repeat(stmt=testcode, setup=import_module))

आउटपुट:

C:\pythontest>python testtimeit.pyThe time taken is 0.182619178

समय - तरीके:

यहाँ, 2 महत्वपूर्ण समय विधियां हैं

timeit.default_timer () : यह निष्पादित होने पर डिफ़ॉल्ट समय लौटाएगा।

timeit.repeat (stmt, setup, टाइमर, दोहराना, संख्या) : timeit () के समान, लेकिन दोहराने के साथ timeit () को बार दोहराने की संख्या कहा जाता है।

कार्यक्रम का उदाहरण 1:

# testing timeit()import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.timeit(stmt=testcode, setup=import_module))

आउटपुट:

0.46715912400000004

उदाहरण 2:

default_timer () उदाहरण

# testing timeit()import timeitimport randomdef test():return random.randint(10, 100)starttime = timeit.default_timer()print("The start time is :",starttime)test()print("The time difference is :", timeit.default_timer() - starttime)

आउटपुट:

The start time is : 0.220261875The time difference is : 0.0004737320000000045

उदाहरण 3: timeit.repeat ()

# testing timeit()import timeitimport_module = "import random"testcode = '''def test():return random.randint(10, 100)'''print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))

आउटपुट:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

timeit.repeat () timeit.timeit () फ़ंक्शन के समान काम करता है, केवल वही अंतर होता है जो रिपीट तर्क में होता है और रिपीट नंबर के अनुसार मानों के साथ एरो फॉर्मेट में निष्पादन समय को वापस देता है।

कमांड-लाइन इंटरफ़ेस के अंदर निष्पादन समय timeit.timeit ()

कमांड लाइन पर timeit () के अंदर अपने फ़ंक्शन को निष्पादित करने का सिंटैक्स निम्नानुसार है:

python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement… ]

कमांड लाइन पैरामीटर:

  • -n N: वह समय जितनी बार आप कोड निष्पादित करना चाहते हैं।
  • -r N: आप जितने बार टाइमिट () फ़ंक्शन दोहराना चाहते हैं
  • -s S: इसमें सेटअप विवरण होगा जो कोड निष्पादन से पहले निष्पादित हो जाएगा।
  • -t: इसके लिए, आप time.time का उपयोग कर सकते हैं ()
  • -c: इसके लिए, आप time.clock () का उपयोग कर सकते हैं
  • -ह: मदद के लिए
  • कोड स्टेटमेंट: कोड विवरण।

उदाहरण:

C:\pythontest>python -m timeit -s 'text="hello world"'20000000 loops, best of 5: 13.1 nsec per loop

एक और तरीका है जिसे आप कमांड लाइन के अंदर निष्पादित कर सकते हैं जैसा कि नीचे दिखाया गया है:

उदाहरण :

>>> import timeit>>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))The time taken is 0.15048536300000137>>>

पायथन कोड के निष्पादन समय को मापने के लिए सबसे अच्छा तरीका क्यों है timeit ()?

यहां कुछ कारण बताए गए हैं कि हम समयबद्ध () निष्पादन के समय को मापने का सबसे अच्छा तरीका है।

  • यह कोड स्टेटमेंट को 1 मिलियन बार चलाता है जो कि डिफ़ॉल्ट मान है, और इसमें से, यह आपको लिया गया न्यूनतम समय लौटा देगा। आप समय () फ़ंक्शन में तर्क संख्या सेट करके 1 मिलियन बढ़ा / घटा सकते हैं।
  • परीक्षण निष्पादित करते समय, कचरा संग्रह समय () फ़ंक्शन द्वारा हर बार अक्षम किया जाता है।
  • timeit () आंतरिक रूप से आपके ऑपरेटिंग सिस्टम के सही समय का उपयोग करता है। उदाहरण के लिए, यह विंडोज ऑपरेटिंग सिस्टम और मैक और लिनक्स के लिए time.time () के लिए time.clock () का उपयोग करेगा।

सारांश

टाइमिट () का उपयोग दिए गए छोटे कोड के लिए निष्पादन समय लेने के लिए किया जाता है

समयसीमा के साथ उपयोग किए जाने वाले पैरामीटर ()

  • stmt: यह वह कोड लेगा जिसे आप निष्पादन समय को मापना चाहते हैं
  • सेटअप: इसमें सेटअप विवरण होगा जिसे stmt से पहले निष्पादित किया जाना चाहिए
  • टाइमर: इसमें टाइमर मान होगा, टाइमिट () में पहले से ही एक डिफ़ॉल्ट मूल्य सेट है, और हम इसे अनदेखा कर सकते हैं।
  • संख्या: यहाँ दिए गए नंबर के अनुसार stmt निष्पादित होगा।