- Python Global Interpreter Lock (GIL) कई threads इस्तेमाल करने वाले प्रोग्रामों की performance बढ़ाने में लंबे समय से एक बड़ा अवरोध रहा है.
- अक्टूबर 2021 में Sam Gross ने GIL-रहित Python का एक proof-of-concept version पेश किया, लेकिन शुरुआती उत्साह के बाद एक साल से अधिक समय तक कोई बड़ी प्रगति नहीं हुई.
- Python Steering Council ने अब no-GIL feature को integrate करने की इच्छा जाहिर की है.
- 2021 के मध्य में शुरू हुआ Faster CPython project, Python interpreter की single-thread performance सुधारने पर केंद्रित है.
- इस साल PyCon में Faster CPython टीम के दो सदस्यों ने interpreter performance बेहतर करने के लिए अपनाई गई रणनीतियाँ प्रस्तुत कीं.
- जनवरी 2023 में core developer Łukasz Langa ने Gross द्वारा लिखे गए PEP 703 ("CPython में Global Interpreter Lock का वैकल्पिक उपयोग") का पहला version प्रकाशित किया.
- Python community, Python 2 से 3 में हुए अव्यवस्थित transition जैसी स्थिति से बचना चाहती है. GIL हटाने वाले किसी भी बदलाव को ऐसे code के साथ compatible होना होगा जो इसके लिए तैयार नहीं है.
- 14 जून को Faster CPython टीम ने no-GIL feature पर निर्णय लेने के लिए दबाव बढ़ाया.
- 28 जुलाई को council member Thomas Wouters ने घोषणा की कि council ने PEP 703 स्वीकार कर लिया है, हालांकि स्वीकृति के विवरण अभी तय किए जा रहे हैं.
- योजना यह है कि पहले interpreter का no-GIL version लाया जाए ताकि सभी missing components की पहचान हो सके, फिर उन्हें ठीक करने के बाद no-GIL को Python का default और अंतिम version बनाया जाए.
- no-GIL version में transition होने में लगभग 5 साल लगने की उम्मीद है, और अतीत की गलतियाँ न दोहराने का वादा किया गया है.
- इस लेख में .NET की parallel programming का उपयोग करके, जब डेटा "embarrassingly parallel" हो, तब
for/foreach loops को तेज़ करने के तरीकों पर चर्चा की गई है.
- लेख में Python की single-thread performance को लंबे समय तक बनाए रखने की व्यवहार्यता पर भी चर्चा है; कुछ लोगों का तर्क है कि अपरिहार्य overhead और बढ़ती complexity अंततः performance घटा सकते हैं.
- लेख Python 2 से Python 3 में हुए उस transition पर भी विचार करता है जिसमें दोनों versions के बीच compatibility नहीं थी.
- लेखक का कहना है कि Python 3 के Python 2 के साथ incompatible प्रभावों का अनुमान कुछ लोगों ने पहले ही लगा लिया था; यह लोकप्रिय धारणा के विपरीत है, और वह 2007 की एक blog post का link साझा करते हैं.
- लेखक Python 2 से Python 3 transition से सीखे गए सबकों के महत्व पर ज़ोर देता है, ताकि भविष्य में ऐसे ही मुद्दों से बचा जा सके.
- लेख का निष्कर्ष उन लोगों की दूरदर्शिता को स्वीकार करते हुए होता है जिन्होंने Python 2 से Python 3 transition की चुनौतियों का पहले से अनुमान लगाया था.
1 टिप्पणियां
Hacker News राय