Pyston-lite, JIT compiler pikeun stock Python diwanohkeun

Pamekar proyék Pyston, anu nawiskeun palaksanaan kinerja tinggi tina basa Python nganggo téknologi kompilasi JIT modéren, masihan ekstensi Pyston-lite kalayan palaksanaan kompiler JIT pikeun CPython. Bari Pyston mangrupakeun cabang tina codebase CPython sarta dimekarkeun misah, Pyston-lite dirancang salaku extension universal dirancang pikeun nyambungkeun ka juru Python baku (CPython).

Pyston-lite ngidinan Anjeun pikeun ngagunakeun téknologi Pyston dasar tanpa ngarobah juru, ku cara masang extension tambahan ngagunakeun PIP atawa manajer pakét Conda. Pyston-lite ieu geus hosted dina repositories PyPI na Conda tur masangkeunana, ngan ngajalankeun paréntah "pip install pyston_lite_autoload" atawa "conda install pyston_lite_autoload -c pyston". Dua bungkusan ditawarkeun: pyston_lite (langsung JIT) sarta pyston_lite_autoload (ngajalankeun substitusi JIT otomatis nalika prosés Python dimimitian). Ieu oge mungkin mun programmatically ngadalikeun citakan JIT tina aplikasi tanpa masang modul autoload, ngagunakeun pyston_lite.enable () fungsi.

Sanajan Pyston-lite teu nutupan sakabéh optimizations sadia di Pyston, pamakéan na bisa ningkatkeun kinerja ku kurang leuwih 10-25% dibandingkeun jeung Python biasa 3.8. Dina mangsa nu bakal datang, éta rencanana mindahkeun lolobana optimizations hadir dina Pyston mun Pyston-lite, kitu ogé dilegakeun versi dirojong tina CPython (pelepasan munggaran ukur ngarojong Python 3.8). Rencana global langkung seueur kalebet kolaborasi sareng tim CPython pikeun nerapkeun API énggal pikeun JIT, ngamungkinkeun kontrol anu langkung lengkep dina karya Python. Citakan tina parobahan diusulkeun dina Python 3.12 cabang keur dibahas. Ideally, kamungkinan mindahkeun sakabéh fungsionalitas ti Pyston kana extension keur dianggap, nu bakal ngidinan urang pikeun nyegah ngajaga garpu CPython urang sorangan.

Salian Pyston-lite, proyék ogé ngarilis update kana full-fledged Pyston 2.3.4 pakét, nu nawarkeun optimizations anyar. Dina tes pyperformance, versi 2.3.4 leuwih gancang ti release 2.3.3 ku ngeunaan 6%. Keuntungan kinerja sakabéh dibandingkeun CPython diperkirakeun 66%.

Salaku tambahan, urang tiasa nyatet optimasi anu dikembangkeun dina siklus pamekaran CPython 3.11 dina proyék utama, anu dina sababaraha tés ngamungkinkeun pikeun ningkatkeun kinerja ku 25%. Contona, dina CPython 3.11 efisiensi cache kaayaan bytecode modul dasar geus ngaronjat, nu bakal nyepetkeun peluncuran Aksara ku 10-15%. Telepon fungsi parantos digancangan sacara signifikan sareng interpreter gancang khusus pikeun operasi standar parantos ditambahkeun. Karya ogé dijalankeun pikeun port sababaraha optimizations disiapkeun ku proyék Cinder na HotPy.

Sajaba ti, dina proyék nogil, gawé keur dijalankeun dina mode eksperimen pikeun ngawangun CPython tanpa konci juru global (GIL, Global Interpreter Lock), nu teu ngidinan aksés paralel ka objék dibagikeun ti threads béda, nu nyegah parallelization operasi on multi. -sistem inti. Salaku solusi sejen pikeun masalah GIL, kamampuhan pikeun meungkeut GIL misah ka unggal juru jalan dina prosés nu keur dimekarkeun (sababaraha juru bisa ngajalankeun dina hiji prosés, tapi efisiensi palaksanaan paralel maranéhanana gumantung kana GIL).

sumber: opennet.ru

Tambahkeun komentar