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

पायथन कोड फंक्शन में तेज़ी से क्यों चलता है?

यह पाया गया है कि यदि पायथन कोड सामान्य रूप से चलाया जाता है और फिर यदि इसे पायथन फंक्शन में चलाया जाता है, तो यह बाद के मामले में तेज़ी से चलता है। मैं जानना चाहता हूं कि पायथन कोड फंक्शन में तेज़ी से क्यों चलता है।

आम तौर पर पाया जाता है कि पायथन फंक्शन में लोकल वेरिएबल्स को स्टोर करना ग्लोबल वेरिएबल्स की तुलना में तेज़ होता है। इसे निम्नानुसार समझाया जा सकता है।

लोकल/ग्लोबल वेरिएबल स्टोर टाइम्स के अलावा, ओपकोड प्रेडिक्शन फंक्शन को तेज़ बनाता है।

CPython मूल पायथन कार्यान्वयन है जिसे हम Python.org से डाउनलोड करते हैं। इसे बाद के पायथन कार्यान्वयन से अलग करने के लिए और भाषा इंजन के कार्यान्वयन को पायथन प्रोग्रामिंग भाषा से अलग करने के लिए CPython कहा जाता है।

CPython C भाषा में कार्यान्वित होता है। CPython हमारे पायथन कोड को बाइटकोड में संकलित करता है और उस बाइटकोड को एक मूल्यांकन लूप में इंटरप्रेट करता है।

जब एक फंक्शन संकलित होता है, तो लोकल वेरिएबल्स एक फिक्स्ड-साइज़ ऐरे में संग्रहीत होते हैं (डिक्शनरी नहीं) और वेरिएबल नामों को इंडेक्स असाइन किए जाते हैं। यह संभव है क्योंकि आप डायनामिक रूप से फंक्शन में लोकल वेरिएबल्स नहीं जोड़ सकते। फिर लोकल वेरिएबल को पुनः प्राप्त करना सचमुच सूची में पॉइंटर लुकअप और PyObject पर रेफकाउंट बढ़ाना है जो नगण्य है।

इसकी तुलना ग्लोबल लुकअप से करें, जो हैश आदि को शामिल करते हुए एक वास्तविक डिक्शनरी खोज है। संयोग से, यही कारण है कि यदि आप चाहते हैं कि कोई वेरिएबल ग्लोबल हो तो आपको global निर्दिष्ट करना होगा: यदि आप कभी किसी स्कोप के अंदर किसी वेरिएबल को असाइन करते हैं, तो कंपाइलर उसकी एक्सेस के लिए STORE_FAST जारी करेगा जब तक कि आप उसे न बताएं।

वैसे, ग्लोबल लुकअप अभी भी काफी अनुकूलित हैं। एट्रिब्यूट लुकअप वास्तव में धीमे हैं!

  1. Google Colaboratory पर Python कोड कैसे चलाएं Google Colaboratory पर Python कोड कैसे चलाएं

    Google Colaboratory एक मुफ्त Jupyter नोटबुक वातावरण है जिसमें किसी सेटअप की आवश्यकता नहीं होती और यह पूरी तरह से क्लाउड में चलता है। यह Google क्लाउड में होस्ट किया गया है और Python कोडर के लाभ के लिए Google द्वारा बनाए रखा जाता है जो क्लाउड वातावरण का उपयोग करके Python स्क्रिप्ट चलाना और टेस्ट करना

  1. पायथन में issubset() फंक्शन पायथन में issubset() फंक्शन

    इस लेख में, हम पायथन स्टैंडर्ड लाइब्रेरी में उपलब्ध issubset() फंक्शन के कार्यान्वयन और उपयोग के बारे में जानेंगे।issubset() मेथड बूलियन True वापस करता है जब एक सेट के सभी तत्व दूसरे सेट में मौजूद होते हैं (जिसे तर्क के रूप में पारित किया जाता है) अन्यथा, यह बूलियन False वापस करता है।नीचे दिए गए चित

  1. पायथन अन्य भाषाओं से धीमा क्यों है? पायथन अन्य भाषाओं से धीमा क्यों है?

    पायथन एक स्क्रिप्टिंग भाषा है जबकि C एक प्रोग्रामिंग भाषा है। C/C++ पायथन की तुलना में अपेक्षाकृत तेज है क्योंकि जब आप पायथन स्क्रिप्ट चलाते हैं, तो इसका इंटरप्रेटर स्क्रिप्ट को लाइन दर लाइन इंटरप्रेट करेगा और आउटपुट जनरेट करेगा लेकिन C में, कंपाइलर पहले इसे कंपाइल करेगा और हार्डवेयर के संबंध में ऑप