Python-ды JIT компиляторымен ұсынатын Pyston жобасы ашық даму үлгісіне оралды

Қазіргі заманғы JIT компиляция технологияларын қолдана отырып, Python тілін жоғары өнімді енгізуді ұсынатын Pyston жобасын әзірлеушілер Pyston 2.2 жаңа шығарылымын ұсынды және жобаны ашық көзге қайтару туралы хабарлады. Іске асыру C++ сияқты дәстүрлі жүйелік тілдерге жақын жоғары өнімділікке қол жеткізуге бағытталған. Pyston 2 филиалының коды GitHub сайтында CPython лицензиясына ұқсас PSFL (Python Software Foundation лицензиясы) бойынша жарияланған.

Еске салайық, Pyston жобасына бұрын Dropbox жетекшілік еткен, ол 2017 жылы дамуды қаржыландыруды тоқтатқан. Pyston әзірлеушілері өз компаниясын құрды және айтарлықтай қайта өңделген Pyston 2 филиалын шығарды, ол тұрақты және кеңінен қолдануға дайын деп жарияланды. Сонымен бірге әзірлеушілер бастапқы кодты жариялауды тоқтатып, тек екілік жинақтарды беруге көшті. Енді Pyston-ты қайтадан ашық бастапқы жобаға айналдыру және компанияны ашық бастапқы бағдарламалық қамтамасыз етуді әзірлеуге байланысты бизнес-модельге көшіру туралы шешім қабылданды. Сонымен қатар, оңтайландыруларды Pyston-дан стандартты CPython-ға көшіру мүмкіндігі қарастырылуда.

Pyston 2.2 веб-сервер қосымшаларына тән жүктемелерді бағалайтын өнімділік сынақтарында стандартты Python-ға қарағанда 30% жылдамырақ екені атап өтілген. Сондай-ақ, Pyston 2.2 өнімділігінің алдыңғы шығарылымдармен салыстырғанда айтарлықтай артуы байқалады, бұл негізінен жаңа аймақтар үшін оңтайландыруларды қосу, сондай-ақ JIT және кэштеу механизмдерін жақсарту арқылы қол жеткізілді.

Өнімділікті оңтайландырудан басқа, жаңа шығарылым да қызықты, себебі ол CPython 3.8.8 тармағынан өзгерістерді жүзеге асырады. Жергілікті Python-мен үйлесімділік тұрғысынан Pyston жобасы ең CPython-үйлесімді баламалы іске асыру ретінде бағаланады, өйткені Pyston негізгі CPython кодтық базасының шанышқысы болып табылады. Pyston CPython бағдарламасының барлық мүмкіндіктерін, соның ішінде C тіліндегі кеңейтімдерді әзірлеуге арналған C API интерфейсін қолдайды. Pyston мен CPython арасындағы негізгі айырмашылықтардың арасында DynASM JIT пайдалану, кірістірілген кэштеу және жалпы оңтайландыру болып табылады.

Pyston 2.2-дегі өзгерістердің ішінде өнімділікке теріс әсер ететін, бірақ әзірлеушілер арасында сұранысқа ие емес CPython көптеген жөндеу мүмкіндіктерінен кодтық базаны тазалау туралы да айтылады. Әзірлеушілердің шамамен 2% ғана осы функцияларды пайдаланатынына қарамастан, отладтау құралдарын жою 2% жылдамдатуға әкелетін статистика келтірілген.

Ақпарат көзі: opennet.ru

пікір қалдыру