Python-ni JIT kompilyatori bilan taklif qiladigan Pyston loyihasi ochiq rivojlanish modeliga qaytdi

Zamonaviy JIT kompilyatsiya texnologiyalaridan foydalangan holda Python tilini yuqori samarali amalga oshirishni taklif qiluvchi Pyston loyihasini ishlab chiquvchilari Pyston 2.2 ning yangi versiyasini taqdim etdilar va loyihani ochiq manbaga qaytarishni e'lon qilishdi. Amalga oshirish C++ kabi anΚΌanaviy tizim tillariga yaqin yuqori unumdorlikka erishishga qaratilgan. Pyston 2 filiali kodi GitHub’da CPython litsenziyasiga oβ€˜xshash PSFL (Python Software Foundation License) ostida chop etiladi.

Eslatib o'tamiz, Pyston loyihasi avvalroq Dropbox tomonidan nazorat qilingan va u 2017 yilda rivojlanishni moliyalashtirishni to'xtatgan. Pyston ishlab chiquvchilari o'z kompaniyasini tashkil etishdi va sezilarli darajada qayta ishlangan Pyston 2 filialini chiqardilar, u barqaror va keng foydalanishga tayyor deb e'lon qilindi. Shu bilan birga, ishlab chiquvchilar manba kodini nashr etishni to'xtatdilar va faqat ikkilik yig'ilishlarni taqdim etishga o'tdilar. Endi Pystonni yana ochiq kodli loyihaga aylantirish va kompaniyani ochiq kodli dasturiy ta'minotni ishlab chiqish bilan bog'liq biznes modeliga o'tkazishga qaror qilindi. Bundan tashqari, optimallashtirishni Pyston-dan standart CPython-ga o'tkazish imkoniyati ko'rib chiqilmoqda.

Ta'kidlanishicha, Pyston 2.2 veb-server ilovalariga xos bo'lgan yuklarni baholovchi ishlash testlarida standart Python-dan 30% tezroq. Bundan tashqari, Pyston 2.2 da oldingi versiyalarga qaraganda unumdorlikning sezilarli o'sishi kuzatildi, bunga asosan yangi hududlar uchun optimallashtirish qo'shilishi, shuningdek JIT va keshlash mexanizmlarini takomillashtirish orqali erishildi.

Ishlashni optimallashtirishdan tashqari, yangi nashr ham qiziqarli, chunki u CPython 3.8.8 filialidan o'zgarishlarni amalga oshiradi. Mahalliy Python bilan moslik nuqtai nazaridan, Pyston loyihasi CPython-ga eng mos keladigan alternativ dastur sifatida e'tirof etiladi, chunki Pyston asosiy CPython kod bazasidan vilka hisoblanadi. Pyston CPython-ning barcha xususiyatlarini, jumladan C tilida kengaytmalarni ishlab chiqish uchun C API-ni qo'llab-quvvatlaydi. Pyston va CPython o'rtasidagi asosiy farqlar orasida DynASM JIT-dan foydalanish, inline keshlash va umumiy optimallashtirish mavjud.

Pyston 2.2-dagi o'zgarishlar orasida kod bazasini CPython-ning ko'plab disk raskadrovka xususiyatlaridan tozalash haqida ham eslatib o'tiladi, bu ishlashga salbiy ta'sir qiladi, ammo ishlab chiquvchilar orasida deyarli talab qilinmaydi. Statistik ma'lumotlarga ko'ra, disk raskadrovka vositalarini olib tashlash 2% tezlashishiga olib keladi, garchi ishlab chiquvchilarning atigi 2% bu funktsiyalardan foydalanishiga qaramay.

Manba: opennet.ru

a Izoh qo'shish