Pyston-lite, JIT compiler maka ngwaahịa Python ewebata

Ndị mmepe nke ọrụ Pyston, nke na-enye mmejuputa atumatu dị elu nke asụsụ Python nke na-eji teknụzụ mkpokọta JIT nke oge a, ewebatala Pyston-lite ndọtị na mmejuputa JIT compiler maka CPython. Ọ bụrụ na Pyston bụ alaka nke CPython codebase wee malite iche iche, mgbe ahụ, Pyston-lite ka emebere dịka ndọtị zuru ụwa ọnụ nke e mere iji jikọọ na onye ntụgharị okwu Python mgbe niile (CPython).

Pyston-lite na-enye gị ohere iji teknụzụ Pyston ndị bụ isi na-agbanweghị onye ntụgharị okwu, site na itinye mgbakwunye mgbakwunye site na iji njikwa ngwugwu PIP ma ọ bụ Conda. A na-akwado Pyston-lite na ebe nchekwa PyPI na Conda, na iji wụnye ya, mee naanị iwu "pip install pyston_lite_autoload" ma ọ bụ "conda install pyston_lite_autoload -c pyston". A na-atụ aro ngwugwu abụọ: pyston_lite (JIT ozugbo) na pyston_lite_autoload (na-eme mgbanwe JIT na-akpaghị aka mgbe ịmalite usoro Python). Ọ ga-ekwe omume ijikwa mmemme na-enyere JIT aka n'ime ngwa ahụ na-enweghị ịwụnye modul autoload, na-eji ọrụ pyston_lite.enable ().

Agbanyeghị na Pyston-lite anaghị ekpuchi njikarịcha niile dị na Pyston, iji ya na-enye ohere maka nkwalite arụmọrụ 10-25% karịa Python 3.8. N'ọdịnihu, anyị na-eme atụmatụ ibubata ọtụtụ n'ime njikarịcha dị na Pyston na Pyston-lite, yana ịgbasa ụdị CPython akwadoro (mwepụta mbụ na-akwado Python 3.8). N'ime atụmatụ ndị ọzọ zuru ụwa ọnụ, enwere ọrụ nkwonkwo na ndị otu CPython na mmejuputa API ọhụrụ maka JIT, nke na-enye ohere ịchịkwa ọrụ Python zuru oke. N'ịtụle nsonye nke mgbanwe ndị a chọrọ na ngalaba Python 3.12. Dị ka o kwesịrị, a na-atụle ohere nke ịnyefe ọrụ niile site na Pyston gaa na ndọtị, nke ga-enye anyị ohere ịpụ na idowe ndụdụ nke CPython nke anyị.

Na mgbakwunye na Pyston-lite, ọrụ ahụ wepụtakwara mmelite na ngwugwu Pyston 2.3.4 zuru oke, nke gụnyere njikarịcha ọhụrụ. N'ime ule pyperformance, ụdị 2.3.4 dị ngwa karịa ntọhapụ 2.3.3 site na ihe dịka 6%. A na-eme atụmatụ uru arụmọrụ zuru oke karịa CPython na 66%.

Tụkwasị na nke a, anyị nwere ike ịhụ njikarịcha ndị e mepụtara na nhazi nke usoro mmepe CPython 3.11 na isi ọrụ, nke na ụfọdụ ule nyere anyị ohere ịbawanye arụmọrụ site na 25%. Dịka ọmụmaatụ, na CPython 3.11, a na-emeziwanye arụmọrụ nke caching steeti bytecode nke modul ntọala, nke ga-eme ka mmalite nke edemede dị ngwa site na 10-15%. Emeela ka oku ọrụ dị ngwa ngwa yana agbakwunyere ndị ntụgharị ngwa ngwa pụrụ iche maka ọrụ a na-ahụkarị. A na-agakwa n'ihu na-ebubata ụfọdụ n'ime nkwalite ndị Cinder na HotPy kwadoro.

Na mgbakwunye, n'ime usoro nke ọrụ nogil, a na-arụ ọrụ na ụdị nrụpụta CPython nnwale na-enweghị mkpọchi ntụgharị zuru ụwa ọnụ (GIL, Global Interpreter Lock), nke na-anaghị ekwe ka ịnweta ihe jikọrọ ọnụ site na eriri dị iche iche, nke na-egbochi imekọrịta ọrụ. na multi-core usoro. Dị ka ihe ngwọta ọzọ maka nsogbu ahụ na GIL, a na-emepụta ike ijikọ GIL dị iche iche na onye ntụgharị okwu ọ bụla na-agba ọsọ n'ime usoro (ọtụtụ ndị ntụgharị nwere ike na-agba ọsọ n'otu usoro, mana ịdị irè nke ogbugbu ha na-adabere na GIL).

isi: opennet.ru

Tinye a comment