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

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

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

पायथन टाइमिट

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

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

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

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

उदाहरण

हम पहले टाइमिट मॉड्यूल के साथ पायथन सीएलआई का उपयोग करना शुरू करेंगे। जब सीएलआई का उपयोग किया जाता है, तो हम देखेंगे कि मॉड्यूल स्वयं कोड के एक ही टुकड़े के लिए किए गए दोहराव की संख्या तय करता है।

उदाहरण 1

C:\Users\rajesh>python -m timeit "'-'.join(str(n) for n in range(200))"1000 loops, best of 3:290 usec per loopC:\Users\rajesh>पायथन-एम टाइमिट "'-'.join(str(n) for n in range(200))"1000 लूप्स, बेस्ट ऑफ 3:292 यूजसी प्रति लूपसी:\यूजर्स\राजेश>पायथन-एम टाइमिट "'-' .join(str(n) for n in range(200))"1000 loops, best of 3:294 usec per loop

उदाहरण 2

आगे हम एक और सरल उदाहरण के साथ टाइमइट का परिचय देते हैं लेकिन पहले हमें "इम्पोर्ट टाइमिट" स्टेटमेंट के साथ टाइमिट मॉड्यूल आयात करना होगा। यह आवश्यक है अगर हम ऊपर की तरह कमांड-लाइन सिंटैक्स का उपयोग नहीं कर रहे हैं।

#Import timeit मॉड्यूलimport timeit# निर्देश समयबद्ध हैं।प्रिंट('x' * 5)प्रिंट('x' + 'x' + 'x' + 'x' + 'x')# स्टेटमेंट पर कॉल टाइमइट और लौटाए गए समय को प्रिंट करें।# ... पुनरावृत्तियों की वैकल्पिक संख्या निर्दिष्ट करें। 'x' + 'x' + 'x' + 'x'", संख्या =10000000))

ऊपर हम कथनों को उद्धृत स्ट्रिंग्स में timeit.timeit विधि में पास करते हैं और फिर हम एक संख्या तर्क निर्दिष्ट करके पुनरावृत्तियों को बढ़ाते हैं।

आउटपुट

उपरोक्त कार्यक्रम चलाने पर पहली बार, आउटपुट उत्पन्न हुआ:

xxxxxxxxxx0.90411368966266350.7712796073957123

प्रोग्राम के ऊपर चलने पर दूसरी बार, आउटपुट जेनरेट हुआ:

xxxxxxxxxx0.73170158744277510.7312688195585995

उपरोक्त कार्यक्रम चलाने पर तीसरी बार, आउटपुट उत्पन्न:

xxxxxxxxxx0.72408624111728240.7255863890794246

हमने अपने उपरोक्त कार्यक्रम को कई बार (3 बार) किया और देखा कि निष्पादन समय में कमी आई है। एक इसे मैन्युअल रूप से करने के बजाय, प्रोग्राम के माध्यम से दोहराव करते हैं:

#Import timeit मॉड्यूलimport timeit# कॉल टाइमइट स्टेटमेंट्स पर और रिटर्न टाइम प्रिंट करें।# ... पुनरावृत्तियों की वैकल्पिक संख्या निर्दिष्ट करें। रिपीट =5))प्रिंट ()प्रिंट (टाइमिट.रिपीट("xy='x' + 'x' + 'x' + 'x' + 'x'", number =10000000, रिपीट =5))

आउटपुट

[0.7303736343436382, 0.7213687552991258, 0.7362311105941466, 0.729313666273243, 0.7278277732068212][0.7388334197158559, 0.7378481457977326, 0.9486733868277772, 0.735295442480929, 0.735295442480929, 0.735295442480929, 

टाइमिट मॉड्यूल का उपयोग करके कई स्टेटमेंट चलाना:

हम टाइमिट मॉड्यूल के साथ कई स्टेटमेंट का उपयोग कर सकते हैं। हम अर्धविराम का उपयोग करके प्रत्येक कथन को अलग करते हैं। हालांकि यह कोड लिखने का सबसे अच्छा तरीका नहीं है लेकिन लंबे कोड अंशों को निर्दिष्ट करने में मदद करता है।

#Import timeit मॉड्यूलimport timeit# कई स्टेटमेंट्स के लिए सेमीकोलन का इस्तेमाल करें। =4", संख्या=100000000))

आउटपुट

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

टाइमिट मॉड्यूल में मेथड्स, सेटअप का उपयोग करना:

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

#आयात समययह मॉड्यूलआयात समयitdef func1 ():वापसी 1def func2 ():वापसी राशि ([-1, 0, 1, 1]) # परीक्षण के तरीके। प्रिंट (func1 ()) प्रिंट (func2 ()) # पास कॉल मेथड्स के लिए सेटअप तर्क। 

उपरोक्त कार्यक्रम में हम func1() विधि को func2() विधि के विरुद्ध बेंचमार्क करते हैं।

आउटपुट

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

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

सारांश

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


  1. Python के साथ PDF 3D में 3D-प्लॉट सहेजना

    Python के साथ PDF में 3D-प्लॉट को सेव करने के लिए, हम निम्नलिखित कदम उठा सकते हैं कदम फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग को एडजस्ट करें। एक नया आंकड़ा बनाएं या मौजूदा आंकड़ा सक्रिय करें। एक कुल्हाड़ीजोड़ें एक सबप्लॉट व्यवस्था के हिस्से के रूप में चित्र के लिए। बनाएं u

  1. पायथन - PyGame के साथ चित्र प्रदर्शित करें

    Pygame गेम और मल्टीमीडिया एप्लिकेशन बनाने के लिए Python के लिए एक मल्टीमीडिया लाइब्रेरी है। इस लेख में हम देखेंगे कि pygame विंडो में इसकी ऊंचाई, चौड़ाई और स्थिति को ध्यान में रखते हुए स्क्रीन पर चित्र को पेंट करने के लिए pygame मॉड्यूल का उपयोग कैसे करें। नीचे दिए गए प्रोग्राम में हम pygame मॉड्यू

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

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