
Python एक उच्च स्तरीय प्रोग्रामिंग भाषा है।
हाल ही में खबर आई कि पायथन प्रोजेक्ट संचालन समिति ने इसे मंजूरी देने की अपनी इच्छा की घोषणा की है पायथन भाषा विस्तार प्रस्ताव «पीईपी-0703″, सीपीथॉन में ग्लोबल इंटरप्रेटर लॉक को वैकल्पिक बनाना और जो मूल रूप से ग्लोबल इंटरप्रेटर लॉक (जीआईएल) के बिना सीपीथॉन कंपाइल मोड के एम्बेड को परिभाषित करता है।
पीईपी -0703 डिफ़ॉल्ट रूप से GIL का उपयोग बंद करने को परिभाषित करता है, लेकिन इसे अक्षम करने के लिए बिल्ड विकल्प "-सिन-गिल" जोड़ें। आप कैसे हैं?एल नए मोड से समांतरता के साथ समस्या का समाधान होने की उम्मीद है मल्टी-कोर सिस्टम पर संचालन की समस्या, इस तथ्य के कारण होती है कि वैश्विक लॉक विभिन्न थ्रेड्स से साझा वस्तुओं तक समानांतर पहुंच की अनुमति नहीं देता है।
इसमें बताया गया है कि लंबी अवधि में (5 साल बाद) शेल को डिफ़ॉल्ट रूप से केवल वैश्विक गैर-लॉकिंग मोड में बदलने की योजना है, जबकि साथ ही जीआईएल के साथ संकलन के लिए समर्थन छोड़ रहा है।
नो-जीआईएल प्रस्ताव पर सर्वेक्षण का जवाब देने के लिए आप सभी को धन्यवाद। यह स्पष्ट है कि सामान्य भावना सकारात्मक है, सामान्य विचार और विशेष रूप से पीईपी 703 दोनों के लिए। निदेशक मंडल भी दोनों पर काफी हद तक सकारात्मक है। हम पीईपी 703 को स्वीकार करने का इरादा रखते हैं, हालांकि हम अभी भी स्वीकृति के विवरण पर काम कर रहे हैं।
जैसा कि हमने अतीत में कुछ बार किया है, हम स्वीकृति से संबंधित विवरणों पर अपनी वर्तमान सोच के साथ-साथ पीईपी को स्वीकार करने के अपने इरादे को संप्रेषित करना चाहते हैं।
इसके अलावा, बताया गया है कि जो बदलाव तीन चरणों में करने की योजना है. जो लघु, मध्यम और दीर्घकालिक हैं। मान लें कि पहले चरण में, GIL को डिफ़ॉल्ट रूप से अक्षम करना अव्यावहारिक है कचरा संग्रहकर्ता, मेमोरी प्रबंधन प्रणाली और तालों को व्यवस्थित करने के लिए आदिम परिवर्तनों से जुड़े ओवरहेड के कारण। उदाहरण के लिए, थ्रेड अलगाव के लिए संदर्भ गणना के उपयोग के कारण, एकल-थ्रेडेड स्क्रिप्ट के प्रदर्शन में गिरावट आई है (पाइपरफॉर्मेंस टेस्ट सूट में 10% तक)। साथ ही, वैज्ञानिक कंप्यूटिंग में जीआईएल को अक्षम करना आवश्यक हो सकता है, जिसके लिए समानांतरीकरण की कमी कोड निष्पादन की रैखिक गति की तुलना में अधिक गंभीर समस्या है।
दूसरे चरण में मूलतः पुष्टि का इंतजार किया जाएगा. और यह कि समुदाय से पर्याप्त समर्थन प्राप्त है "गैर-जीआईएल का उपयोग व्यवहार्य है" और सुनिश्चित करें कि GIL-रहित बिल्ड समर्थित है लेकिन डिफ़ॉल्ट नहीं है।
अंतिम चरण में, नो-जीआईएल पहले से ही डिफ़ॉल्ट मान होगा और जीआईएल के किसी भी अवशेष को हटा दिया जाएगा (बिना अनावश्यक रूप से बैकवर्ड संगतता को तोड़े बिना)।
यह देखा गया है कि जीआईएल से दूर जाने का काम बहुत सावधानी से किया जाएगा ताकि गलती दोबारा न हो प्रचार करते समय क्या हुआ? अजगर 3: एक गैर-जीआईएल बिल्ड को पायथन के पुराने संस्करणों के साथ संगतता सुनिश्चित करने की आवश्यकता होगी, और गैर-जीआईएल बिल्ड पर काम करने के लिए आवश्यक किसी भी तीसरे पक्ष के कोड परिवर्तन को जीआईएल बिल्ड पर भी काम करना चाहिए।
गैर-जीआईएल बिल्ड के लिए संस्करणों को पायथन 4 में पुन: क्रमांकित करने की कोई योजना नहीं है, क्योंकि वे एबीआई संगतता बनाए रखेंगे।
पूरी प्रक्रिया के दौरान, हमें (मुख्य डेवलपर्स, न कि केवल एससी) को प्रगति और सुझाई गई समयसीमा का पुनर्मूल्यांकन करने की आवश्यकता होगी। हम नहीं चाहते कि यह एक और दस साल की पिछड़ी संगतता लड़ाई बन जाए, और हम पीईपी 703 को रद्द करने में सक्षम होना चाहते हैं और यदि यह समस्याग्रस्त लगता है तो दूसरा समाधान ढूंढना चाहते हैं, इसलिए हमें नियमित रूप से जांचने की ज़रूरत है कि निरंतर काम इसके लायक है या नहीं।
हमें उम्मीद है कि इससे पीईपी के भविष्य पर कुछ स्पष्टता मिलेगी क्योंकि हम स्वीकृति के सटीक विवरण पर काम कर रहे हैं। SC आने वाले हफ्तों में स्वीकृति को अंतिम रूप देने के लिए काम करेगा।
गैर-जीआईएल बिल्ड में पूर्ण परिवर्तन से पहले, हम इन बिल्ड के लिए पूर्ण सामुदायिक समर्थन प्राप्त करने की योजना बनाते हैं, साथ ही मौजूदा कोड में सुरक्षित मल्टीथ्रेडिंग को सक्षम करने के लिए अतिरिक्त सी एपीआई और पायथन एपीआई प्रदान करते हैं।
अंत में, जैसा कि पहले ही उल्लेख किया गया है, यह उम्मीद की जाती है कि तीसरे चरण में संक्रमण कम से कम 5 वर्षों में हो सकता है और पीईपी-0703 की संभावित तिथि पायथन 3.13 की रिलीज़ है, जो अगले पतन के लिए निर्धारित है।
अगर तुम हो इसके बारे में अधिक जानने में रुचि रखते हैं, आप विवरण की जांच कर सकते हैं निम्नलिखित लिंक में