Pyston-lite, JIT compiler mo faʻasoa Python faʻafeiloaʻi

O le au atinaʻe o le Pyston project, lea e ofoina atu se faʻatinoga maualuga o le gagana Python e faʻaogaina ai tekonolosi faʻaonaponei a le JIT, ua faʻalauiloaina le faʻaopoopoga Pyston-lite faʻatasi ai ma le faʻatinoina o le JIT compiler mo CPython. Afai o le Pyston o se lala o le codebase CPython ma faʻavae ese, ona faʻatulagaina lea o le Pyston-lite e avea o se faʻaopoopoga lautele ua fuafuaina e faʻafesoʻotaʻi i le faʻaliliuga masani Python (CPython).

O le Pyston-lite e mafai ai ona e faʻaogaina le Pyston tekinolosi e aunoa ma le suia o le faʻaliliuga, e ala i le faʻapipiʻiina o se faʻaopoopoga faaopoopo e faʻaaoga ai le PIP poʻo le Conda package manager. Pyston-lite ua uma ona talimalo i le PyPI ma Conda repositories, ma e faʻapipiʻi, naʻo le faʻatonuina o le "pip install pyston_lite_autoload" poʻo le "conda install pyston_lite_autoload -c pyston". E lua afifi ua fautuaina: pyston_lite (JIT tuusao) ma pyston_lite_autoload (faia otometi le sui JIT pe a amata se Python process). E mafai fo'i ona fa'apolokalameina le fa'aogaina o le JIT mai totonu o le talosaga e aunoa ma le fa'apipi'iina o le autoload module, fa'aaoga le pyston_lite.enable() galuega.

E ui lava o le Pyston-lite e le o aofia uma ai faʻataʻitaʻiga o loʻo maua i Pyston, faʻaaogaina e mafai ai mo le 10-25% faʻaleleia o faʻatinoga i luga ole Python 3.8 masani. I le lumanaʻi, matou te fuafua e faʻapipiʻi le tele o faʻataʻitaʻiga o loʻo i ai i Pyston i le Pyston-lite, faʻapea foʻi ma le faʻalauteleina o lomiga lagolago o le CPython (o le faʻasalalauga muamua naʻo le lagolagoina o le Python 3.8). O le tele o fuafuaga a le lalolagi, o loʻo i ai se galuega faʻatasi ma le CPython team i le faʻatinoina o API fou mo le JIT, lea e mafai ai ona sili atu le pulea atoatoa o le galuega a Python. Talanoaina le fa'aofiina o suiga ua fuafuaina i le Python 3.12 lala. O le mea lelei, o le avanoa e faʻafeiloaʻi uma galuega mai le Pyston i se faʻaopoopoga e mafaufauina, lea e mafai ai ona tatou o ese mai le tausia o la tatou lava tui ole CPython.

I le faaopoopo atu i le Pyston-lite, o le poloketi foi na tuʻuina atu se faʻafouga i le Pyston 2.3.4 afifi atoa, lea e aofia ai faʻamatalaga fou. I le suega pyperformance, o le version 2.3.4 e sili atu le vave nai lo le tatalaina o le 2.3.3 e tusa ma le 6%. O le aofaʻiga o faʻamanuiaga faʻatinoga i luga ole CPython e faʻatatau ile 66%.

E le gata i lea, e mafai ona matou maitauina le faʻaogaina o mea na atiaʻe i le faʻavae o le CPython 3.11 atinaʻe taamilosaga i le galuega autu, lea i nisi o suʻega na mafai ai ona matou faʻateleina le faʻatinoga e 25%. Mo se faʻataʻitaʻiga, i le CPython 3.11, ua faʻaleleia le lelei o le faʻaogaina o le setete o le bytecode o faʻavae faʻavae, lea o le a faʻavaveina ai le faʻalauiloaina o tusitusiga e 10-15%. Ua fa'atelevave tele vala'au fa'atino ma ua fa'aopoopoina fa'amatalaga fa'apitoa fa'apitoa o galuega masani. O lo'o fa'agasolo fo'i galuega mo le fa'aulufaleina o nisi o fa'ata'ita'iga na saunia e poloketi Cinder ma HotPy.

E le gata i lea, i totonu o le faʻavae o le poloketi nogil, o loʻo faʻagasolo galuega i luga o se faiga faʻataʻitaʻi CPython e aunoa ma se loka faʻamatala faʻaupuga (GIL, Global Interpreter Lock), lea e le faʻatagaina le avanoa tutusa i mea faʻasoa mai filo eseese, lea e taofia ai le tutusa o gaioiga. i luga ole tele-core system. I le avea ai o se isi fofo i le faʻafitauli i le GIL, o le mafai ona faʻaogaina se GIL eseʻese i faʻaliliuga taʻitasi o loʻo taʻavale i totonu o se faʻagasologa o loʻo atiaʻe (e tele faʻaliliu e mafai ona taʻavale i le tasi faiga, ae o le aoga o latou faʻataʻitaʻiga tutusa o loʻo i luga o le GIL).

puna: opennet.ru

Faaopoopo i ai se faamatalaga