एक जेआईटी संकलक के साथ पायथन 2 पायथन का कार्यान्वयन

विकास में तीन साल के अंतराल के बाद, Pyston 2 परियोजना का शुभारंभ प्रकाशित किया गया है, मैंने क्या कियापायथन भाषा के उच्च-प्रदर्शन कार्यान्वयन के लिए एलएलवीएम परियोजना के विकास का उपयोग करना।

कार्यान्वयन आधुनिक जेआईटी संकलन प्रौद्योगिकियों के उपयोग के लिए बाहर खड़ा है और C ++ जैसी पारंपरिक सिस्टम भाषाओं के समान उच्च प्रदर्शन प्राप्त करना है।

पिछले संस्करणों से कोड पिस्टन द्वारा अपाचे लाइसेंस के तहत वितरित किया गया था, लेकिन पिस्टन 2 कोड अभी तक उपलब्ध नहीं है और केवल तैयार-टू-यूज़ बिल्ड बिल्ड उबंटू 18.04 और 20.04 के लिए जारी किए गए हैं (कोड के साथ एक फ़ाइल डाउनलोड के लिए उपलब्ध है, लेकिन जानकारी के साथ केवल एक स्टब है कि परियोजना अभी भी बंद है) ।

कोड को प्रकाशित करना डेवलपर्स की योजनाओं का हिस्सा हैलेकिन यह किया जाएगा बिजनेस मॉडल बनने के बाद पूरा हो गया है नई कंपनी और ड्रॉपबॉक्स के वित्तीय समर्थन के बिना पिस्टन को विकसित करना जारी रखने का निर्णय लिया गया।

पिस्टन 2 के बारे में

पिछले संस्करणों के विपरीत, पिस्टन 2 स्थिर रूप से चिह्नित है और परीक्षण संस्करण के रूप में नहीं। प्रदर्शन को अनुकूलित करने के लिए बहुत काम किया गया है और पायथन-मैक्रोबेनचर्च टेस्ट सूट को पास करते समय पिस्टन 2 मूल पायथन 3.8 की तुलना में अब 20% तेज है।

सबसे उल्लेखनीय प्रदर्शन लाभ अंतर्निहित वेब अनुप्रयोग वर्कलोड में देखा जाता है। 2. Chaos.py और nbody.py जैसे अलग-अलग परीक्षणों में, Pyston 3.8 ने 2 के एक कारक द्वारा Python XNUMX को आउटपरफॉर्म किया। JIT का उपयोग करने की लागत मेमोरी खपत में थोड़ी वृद्धि है।

हम पायथन v2 को रिलीज करने के लिए बहुत उत्साहित हैं, पायथन प्रोग्रामिंग भाषा का एक तेज और अत्यधिक संगत कार्यान्वयन। हमारे मैक्रोबेनचक्र्स में मानक पायथन 2 की तुलना में संस्करण 20 3.8% तेज है। इससे भी महत्वपूर्ण बात, यह आपके कोड में तेजी से होने की संभावना है। Pyston v2 सर्वर लागत को कम कर सकता है, उपयोगकर्ता विलंबता को कम कर सकता है और डेवलपर उत्पादकता में सुधार कर सकता है।

Pyston v2 को लागू करना आसान है, इसलिए यदि आप बेहतर Python प्रदर्शन की तलाश कर रहे हैं, तो हम अनुशंसा करते हैं कि आप पांच मिनट का समय लें और Pyston को आजमाएं। ऐसा करना आपके प्रोजेक्ट को गति देने के सबसे आसान तरीकों में से एक है।

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

एक प्रकार का पौधा सभी सीपीथॉन कार्यों का समर्थन करता है, C एक्सटेंशन विकसित करने के लिए C API सहित। Pyston को मूल रूप से Dropbox द्वारा विकसित किया गया था, जिसने 2017 में आंतरिक विकास को बंद करने का निर्णय लिया। 2020 की शुरुआत में, पिस्टन के शीर्ष डेवलपर्स ने अपनी कंपनी की स्थापना की, इस परियोजना को पूरी तरह से सुदृढ़ किया और पूर्णकालिक रूप से पिस्टन में काम करना शुरू किया।

Pyston 2 पैडिंग पर तकनीकी विवरण अभी तक प्रदान नहीं किए गए हैं, केवल DynASM JIT, इनलाइन कैशिंग और सामान्य CPython अनुकूलन का उल्लेख किया गया है। पिस्टन के पिछले संस्करण ने एक समय में एक विधि JIT का उपयोग किया था, जो आधुनिक जावास्क्रिप्ट इंजनों में JIT के समान थी।

JIT में, पायथन कोड का अनुवाद और अनुवाद किया गया था एक मध्यवर्ती प्रतिनिधित्व LLVM (IR, मध्यवर्ती प्रतिनिधित्व) के लिए। इसके अलावा, IR प्रतिनिधित्व को LLVM अनुकूलक में संसाधित किया गया और निष्पादन के लिए LLVM JIT इंजन में उत्तीर्ण किया गया, जिसने IR प्रतिनिधित्व को मशीन कोड में बदल दिया।

गतिशील पायथन भाषा में कार्यक्रमों के लिए चर के प्रकारों के बारे में जानकारी प्राप्त करने के लिए, निष्पादन के दौरान प्रकार के सही विकल्प के स्पष्टीकरण के बाद, वस्तु प्रकारों के संभाव्य पूर्वानुमान की तकनीक का उपयोग किया गया था।

इसलिए, पिस्टन ने लगातार दो शाखाओं के बीच निष्पादन को विविध किया: तेज, जब अनुमानित दरों की पुष्टि की जाती है, और धीमी, जो एक प्रकार की बेमेल के मामले में उपयोग की जाती है।

नौकरी को मल्टीथ्रेडेड मोड में किया जा सकता है, पायथन भाषा में कोड के कई थ्रेड्स के समानांतर निष्पादन की अनुमति और वैश्विक दुभाषिया लॉक (GIL) से मुक्त।

अंत में यदि आप इसके बारे में अधिक जानना चाहते हैं, आप में विवरण देख सकते हैं निम्नलिखित लिंक।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।