Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में timeit मॉड्यूल: उदाहरणों के साथ


पायथन पायथन कोड के एक टुकड़े के निष्पादन समय को मापने के कई तरीके प्रदान करता है। एक तरीका पायथन के बिल्ट-इन time मॉड्यूल का उपयोग करना है और प्रोग्राम के निष्पादन से पहले और बाद का समय सेव करना है।

पायथन timeit

जब कोई प्रोग्राम चल रहा होता है, तो कई प्रक्रियाएं पृष्ठभूमि में भी चलती हैं जो उस कोड को निष्पादन योग्य बनाती हैं। time मॉड्यूल पृष्ठभूमि प्रक्रियाओं के निष्पादन समय को नहीं गिनता, हालांकि यदि आपको सटीक समय प्रदर्शन माप की आवश्यकता है, तो timeit ही वह मॉड्यूल है जिसके लिए जाना चाहिए।

timeit मॉड्यूल कोड को लगभग 1 मिलियन बार चलाता है (डिफ़ॉल्ट मान) और उस कोड के टुकड़े को चलाने में लगे न्यूनतम समय को ध्यान में रखता है।

timeit का उपयोग करके पायथन निष्पादन समय प्राप्त करना

हम timeit मॉड्यूल का कई तरीकों से उपयोग कर सकते हैं। सबसे सरल तरीकों में से एक है सीधे पायथन CLI पर इसका उपयोग करना।

उदाहरण 1: कमांड लाइन से उपयोग

C:\Users\rajesh>python -m timeit "'-'.join(str(n) for n in range(200))"
1000 loops, best of 3: 290 usec per loop
C:\Users\rajesh>python -m timeit "'-'.join(str(n) for n in range(200))"
1000 loops, best of 3: 292 usec per loop

उदाहरण 2: स्क्रिप्ट में उपयोग

# timeit मॉड्यूल इम्पोर्ट करें
import timeit

# टाइम किए जाने वाले स्टेटमेंट्स
print('x' * 5)
print('x' + 'x' + 'x' + 'x' + 'x')

# स्टेटमेंट्स पर timeit कॉल करें और लौटाया गया समय प्रिंट करें
# वैकल्पिक इटरेशन्स की संख्या निर्दिष्ट करें
print(timeit.timeit("y = 'x' * 3", number=10000000))
print(timeit.timeit("xy = 'x' + 'x' + 'x' + 'x' + 'x'", number=10000000))

उपरोक्त हम timeit.timeit मेथड को कोटेड स्ट्रिंग्स में स्टेटमेंट्स पास करते हैं और फिर number आर्गुमेंट निर्दिष्ट करके इटरेशन्स बढ़ाते हैं।

आउटपुट

xxxxx
xxxxx
0.9041136896626635
0.7712796073957123

उदाहरण 3: repeat() के साथ एकाधिक रन

import timeit

# स्टेटमेंट्स पर timeit कॉल करें और लौटाया गया समय प्रिंट करें
print(timeit.repeat("y = 'x' * 3", number=10000000, repeat=5))
print()
print(timeit.repeat("xy = 'x' + 'x' + 'x' + 'x' + 'x'", number=10000000, repeat=5))

आउटपुट

[0.7303736343436382, 0.7213687552991258, 0.7362311105941466, 0.7293136666273243, 0.7278277732068212]
[0.7388334197158559, 0.7378481457977326, 0.9486733868277772, 0.735295442480929, 0.7398226849056382]

उदाहरण 4: सेमीकोलन के साथ एकाधिक स्टेटमेंट्स

import timeit

# एकाधिक स्टेटमेंट्स के लिए सेमीकोलन का उपयोग
print(timeit.repeat("x = 2; x *= 2", number=100000000))
print(timeit.repeat("x = 1; x *= 4", number=100000000))

आउटपुट

[24.859605879029118, 23.58795536845994, 23.95826726353284]
[22.70639977603264, 21.380195994245724, 20.71523588130414]

उदाहरण 5: कस्टम फंक्शंस के साथ setup आर्गुमेंट

import timeit

def func1():
    return 1

def func2():
    return sum([-1, 0, 1, 1])

# मेथड्स टेस्ट करें
print(func1())
print(func2())

# मेथड्स को कॉल करने के लिए setup आर्गुमेंट पास करें
print(timeit.repeat("func1()", setup="from __main__ import func1"))
print(timeit.repeat("func2()", setup="from __main__ import func2"))

आउटपुट

1
1
[0.44798489246658874, 0.4411512652046069, 0.44570416580426686]
[1.583622557983199, 1.5712399227517881, 1.5469479030713984]

चूंकि func1() कम काम कर रहा है, यह बहुत तेज़ी से निष्पादित हुआ।

सारांश

ऊपर हमने देखा कि कैसे हम CLI और स्क्रिप्ट्स दोनों का उपयोग करके पायथन कोड के छोटे टुकड़े के प्रदर्शन को timeit मॉड्यूल का उपयोग करके माप सकते हैं।


  1. Python में 3D प्लॉट को PDF 3D में सहेजें Python में 3D प्लॉट को PDF 3D में सहेजें

    Matplotlib में 3D प्लॉट को PDF फ़ाइल के रूप में सहेजने के लिए plt.savefig() मेथड का उपयोग करें। चरण फिगर आकार सेट करें और पैडिंग समायोजित करें नया फिगर बनाएं या मौजूदा सक्रिय करें सबप्लॉट व्यवस्था के भाग के रूप में फिगर में ax जोड़ें (projection=3d के साथ) NumPy से u, v, x, y, z डेटा बिंदु बनाएं 3

  1. पायथन Pygame: विंडो पर इमेज (चित्र) प्रदर्शित करना पायथन Pygame: विंडो पर इमेज (चित्र) प्रदर्शित करना

    Pygame में इमेज लोड और डिस्प्ले इमेज फ़ाइल लोड करें → convert() से ऑप्टिमाइज़ करें → blit() से स्क्रीन पर खींचें। पूर्ण कोड उदाहरण import pygame pygame.init() w, h = 300, 300 screen = pygame.display.set_mode((w, h)) pygame.display.set_caption(Tutorialspoint Logo) # इमेज लोड और कन्वर्ट (तेज़ ब्लि

  1. - पायथन में मल्टी-थ्रेडिंग के साथ सॉकेट प्रोग्रामिंग

    मल्टीथ्रेडिंग अवधारणाएं मल्टीथ्रेडिंग लगभग सभी आधुनिक प्रोग्रामिंग भाषाओं की मूल अवधारणा है, विशेष रूप से पायथन की क्योंकि इसके थ्रेड्स का सरल कार्यान्वयन है। एक थ्रेड एक प्रोग्राम के भीतर एक उप-प्रोग्राम है जिसे कोड के अन्य भागों से स्वतंत्र रूप से निष्पादित किया जा सकता है। एक थ्रेड प्रोग्राम के