Pyston-lite، JIT مرتب ڪندڙ Python اسٽاڪ لاءِ متعارف ڪرايو ويو

Pyston پروجيڪٽ جا ڊولپر، جيڪي جديد JIT ڪمپيليشن ٽيڪنالاجيز استعمال ڪندي پٿون ٻوليءَ جي اعليٰ ڪارڪردگيءَ تي عمل درآمد پيش ڪن ٿا، سي پيٿون لاءِ JIT ڪمپيلر جي نفاذ سان گڏ Pyston-lite ايڪسٽينشن پيش ڪيو. جڏهن ته Pyston CPython ڪوڊ بيس جي هڪ شاخ آهي ۽ الڳ الڳ ترقي ڪئي وئي آهي، Pyston-lite هڪ آفاقي واڌ جي طور تي ٺهيل آهي معياري Python مترجم (CPython) سان ڳنڍڻ لاءِ.

Pyston-lite توهان کي اجازت ڏئي ٿو بنيادي Pyston ٽيڪنالاجيون استعمال ڪرڻ کان سواءِ مترجم کي تبديل ڪرڻ جي، اضافي ايڪسٽينشن انسٽال ڪري PIP يا Conda پيڪيج مئنيجر کي استعمال ڪندي. Pyston-lite اڳ ۾ ئي PyPI ۽ Conda repositories ۾ ميزباني ڪئي وئي آهي ۽ ان کي انسٽال ڪرڻ لاءِ، صرف "pip install pyston_lite_autoload" يا "conda install pyston_lite_autoload -c pyston" کي هلايو. ٻه پيڪيجز پيش ڪيا ويا آهن: pyston_lite (سڌي طرح JIT) ۽ pyston_lite_autoload (خودڪار JIT متبادل کي انجام ڏئي ٿو جڏهن پٿون عمل شروع ٿئي ٿو). pyston_lite.enable() فنڪشن کي استعمال ڪندي، خودڪار لوڊ ماڊل کي انسٽال ڪرڻ کان سواءِ ايپليڪيشن مان JIT جي شموليت کي پروگرام ۾ ڪنٽرول ڪرڻ پڻ ممڪن آهي.

جيتوڻيڪ Pyston-lite Pyston ۾ موجود سڀني اصلاحن کي ڍڪي نه ٿو ڏئي، ان جو استعمال باقاعده Python 10 جي مقابلي ۾ تقريبن 25-3.8٪ ڪارڪردگي بهتر ڪري سگهي ٿو. مستقبل ۾، اها رٿابندي ڪئي وئي آهي ته پيسٽن ۾ موجود اڪثر اصلاحن کي پيسٽن-لائيٽ ڏانهن منتقل ڪيو وڃي، ۽ گڏوگڏ CPython جي سپورٽ ٿيل ورجن کي وڌايو (پهرين رليز صرف پٿون 3.8 کي سپورٽ ڪري ٿو). وڌيڪ عالمي منصوبن ۾ شامل آهي CPython ٽيم سان تعاون JIT لاءِ نوان APIs لاڳو ڪرڻ لاءِ، اجازت ڏئي ٿو ته Python جي ڪم تي وڌيڪ مڪمل ڪنٽرول. پٿون 3.12 برانچ ۾ تجويز ڪيل تبديلين جي شموليت تي بحث ڪيو پيو وڃي. مثالي طور تي، Pyston کان سڀني ڪارڪردگي کي وڌائڻ جي امڪان تي غور ڪيو پيو وڃي، جيڪو اسان کي اسان جي پنهنجي CPython فورڪ کي برقرار رکڻ کان بچڻ جي اجازت ڏيندو.

Pyston-lite جي اضافي ۾، پروجيڪٽ مڪمل پيسٽن 2.3.4 پيڪيج لاءِ هڪ تازه ڪاري پڻ جاري ڪئي، جيڪا پيش ڪري ٿي نيون اصلاحون. pyperformance ٽيسٽ ۾، نسخو 2.3.4 رليز 2.3.3 کان 6 سيڪڙو وڌيڪ تيز آهي. CPython جي مقابلي ۾ مجموعي ڪارڪردگي جو اندازو لڳايو ويو آهي 66%.

اضافي طور تي، اسان CPython 3.11 ڊولپمينٽ چڪر جي اندر ترقي ڪيل اصلاحن کي نوٽ ڪري سگھون ٿا مکيه پروجيڪٽ ۾، جن ڪجھ تجربن ۾ 25٪ پاران ڪارڪردگي وڌائڻ کي ممڪن بڻايو. مثال طور، CPython 3.11 ۾، بنيادي ماڊلز جي بائيٽ ڪوڊ اسٽيٽ کي ڪيش ڪرڻ جي ڪارڪردگي کي وڌايو ويو آهي، جيڪو اسڪرپٽ جي لانچ کي 10-15٪ تائين تيز ڪندو. فنڪشن ڪالز کي خاص طور تي تيز ڪيو ويو آهي ۽ معياري عملن جا خاص تيز ترجمان شامل ڪيا ويا آهن. Cinder ۽ HotPy منصوبن پاران تيار ڪيل ڪجهه اصلاحن کي پورٽ ڪرڻ لاءِ ڪم پڻ جاري آهي.

اضافي طور تي، نوگل پروجيڪٽ جي اندر، CPython جي تعمير لاءِ تجرباتي موڊ تي ڪم جاري آهي بغير گلوبل انٽرپريٽر لاڪ (GIL، Global Interpreter Lock)، جيڪو مختلف موضوعن مان شيئر ڪيل شين تائين متوازي پهچ جي اجازت نٿو ڏئي، جيڪو ملٽي تي عملن جي متوازي ٿيڻ کي روڪي ٿو. - بنيادي نظام. GIL مسئلي جي هڪ ٻئي حل جي طور تي، هڪ عمل جي اندر هلندڙ هر مترجم کي الڳ GIL پابند ڪرڻ جي صلاحيت ترقي ڪئي پئي وڃي (ڪيترائي ترجمان هڪ عمل ۾ هلي سگهن ٿا، پر انهن جي متوازي عمل جي ڪارڪردگي جو دارومدار GIL تي آهي).

جو ذريعو: opennet.ru

تبصرو شامل ڪريو