Pyston-lite, JIT compiler ho an'ny stock Python nampidirina

Ireo mpamorona ny tetikasa Pyston, izay manolotra fampiharana avo lenta amin'ny fiteny Python amin'ny fampiasana ny teknolojia fanangonana JIT maoderina, dia nanolotra ny fanitarana Pyston-lite miaraka amin'ny fampiharana ny JIT compiler ho an'ny CPython. Raha ny Pyston dia sampana amin'ny codebase CPython ary novolavolaina misaraka, ny Pyston-lite dia natao ho fanitarana manerantany natao hifandraisana amin'ny mpandika teny Python mahazatra (CPython).

Ny Pyston-lite dia ahafahanao mampiasa ny teknolojia fototra Pyston nefa tsy manova ny mpandika teny, amin'ny fametrahana fanitarana fanampiny amin'ny alΓ lan'ny mpitantana fonosana PIP na Conda. Pyston-lite dia efa nampiantranoana ao amin'ny PyPI sy Conda repositories, ary ny fametrahana dia mandehana fotsiny ny baiko "pip install pyston_lite_autoload" na "conda install pyston_lite_autoload -c pyston". Fonosana roa no soso-kevitra: pyston_lite (JIT mivantana) ary pyston_lite_autoload (manao fanoloana JIT mandeha ho azy rehefa manomboka dingana Python). Azo atao ihany koa ny manara-maso ny JIT amin'ny alΓ lan'ny programa nefa tsy mametraka ny maody autoload, amin'ny fampiasana ny pyston_lite.enable().

Na dia tsy mandrakotra ny fanatsarana rehetra misy ao amin'ny Pyston aza ny Pyston-lite, ny fampiasana azy dia afaka manatsara ny fampisehoana amin'ny 10-25% eo ho eo raha oharina amin'ny Python 3.8 mahazatra. Amin'ny ho avy dia mikasa ny hamindra ny ankamaroan'ny fanatsarana misy ao amin'ny Pyston mankany amin'ny Pyston-lite, ary koa ny fanitarana ny dikan-teny tohanan'ny CPython (ny famoahana voalohany dia manohana ny Python 3.8 ihany). Ny drafitra eran-tany bebe kokoa dia ahitana fiaraha-miasa amin'ny ekipa CPython hampihatra API vaovao ho an'ny JIT, ahafahana mifehy tanteraka ny asan'ny Python. Ny fampidirana ireo fanovana natolotra ao amin'ny sampana Python 3.12 dia resahina. Ny tsara indrindra dia ny mety hamindrana ny fiasa rehetra avy amin'ny Pyston mankany amin'ny fanitarana, izay ahafahantsika misoroka ny fitazonana ny fork CPython manokana.

Ho fanampin'ny Pyston-lite, namoaka fanavaozana ho an'ny fonosana Pyston 2.3.4 feno ihany koa ny tetikasa, izay manolotra fanatsarana vaovao. Ao amin'ny fitsapana pyperformance, ny version 2.3.4 dia haingana kokoa noho ny famoahana 2.3.3 amin'ny 6%. Ny tombony amin'ny ankapobeny raha oharina amin'ny CPython dia tombanana amin'ny 66%.

Fanampin'izany, azontsika atao ny manamarika ny fanatsarana novolavolaina tao anatin'ny tsingerin'ny fampandrosoana CPython 3.11 ao amin'ny tetikasa lehibe, izay tamin'ny fitsapana sasany dia nahafahana nampitombo ny fahombiazan'ny 25%. Ohatra, ao amin'ny CPython 3.11, nitombo ny fahombiazan'ny caching ny toetry ny bytecode amin'ny maodely fototra, izay hanafaingana ny fandefasana script amin'ny 10-15%. Nohafainganina be ny antso fampiasa ary nampiana mpandika teny haingana manokana momba ny asa mahazatra. Mandeha ihany koa ny asa amin'ny fampitana ny fanatsarana sasany nomanin'ny tetikasa Cinder sy HotPy.

Fanampin'izany, ao anatin'ny tetikasa nogil, dia mandeha ny asa amin'ny fomba andrana amin'ny fananganana CPython tsy misy hidin'ny mpandika teny eran-tany (GIL, Global Interpreter Lock), izay tsy mamela ny fidirana mifanandrify amin'ny zavatra zaraina amin'ny kofehy samihafa, izay manakana ny fampifanarahana ny asa amin'ny multi - rafitra fototra. Amin'ny maha vahaolana iray hafa amin'ny olana GIL, ny fahafahana mamatotra GIL misaraka amin'ny mpandika teny tsirairay mandeha ao anatin'ny dingana iray dia novolavolaina (mpandika teny maromaro no afaka mandeha amin'ny dingana iray, fa ny fahombiazan'ny famonoana azy ireo dia miankina amin'ny GIL).

Source: opennet.ru

Add a comment