IPyston 2 ukumiliselwa kwePython kunye nomhlanganisi weJIT

Emva kweminyaka emithathu yokuphumla, ukumiliselwa kweprojekthi yePyston 2 sele ipapashiwe, ndiphuhlise ntoniekuphunyezweni kokusebenza okuphezulu kolwimi lwePython kusetyenziswa uphuhliso lweprojekthi ye-LLVM.

Ukuphunyezwa ime ngaphandle ekusetyenzisweni kweetekhnoloji zangoku zokudibanisa iJIT kwaye ijonge ukufezekisa ukusebenza okuphezulu okufanayo kwiilwimi zesiko ezinje ngeC ++.

Ikhowudi evela kwiinguqulelo zangaphambili nguPyston yasasazwa phantsi kwelayisenisi ye-Apache, kodwa ikhowudi yePyston 2 ayikafumaneki kwaye kuphela ukulungiswa kokulungiselela ukukhutshwa kwe-Ubuntu 18.04 kunye ne-20.04 (ifayile enekhowudi iyafumaneka ukuze ikhutshelwe kodwa kukho kuphela isisi esinolwazi ukuba iprojekthi isavaliwe) .

Ukushicilela ikhowudi yinxalenye yezicwangciso zabaphuhlisikodwa oku kuyakwenziwa emva kokuba kugqityiwe ukwenziwa kwemodeli yeshishini yenkampani entsha kwaye kwagqitywa ekubeni kuqhubeke ukuphuhlisa iPyston ngaphandle kwenkxaso yemali yeDropbox.

Malunga nePyston 2

Ngokungafaniyo nohlobo lwangaphambili, IPyston 2 iphawulwe izinzile hayi njengenguqulo yolingo. Mninzi umsebenzi osele wenziwe ukwandisa ukusebenza kwaye iPyston 2 ngoku iyakhawuleza kuneyantlandlolo Python 3.8 malunga ne-20% xa kudlula i-python-macrobenchmarks test suite.

Ezona ziphumo zibalulekileyo zomsebenzi zibonwa kwimisebenzi yokusebenza yewebhu. Kuvavanyo olwahlukileyo njenge chaos.py kunye nbody.py, I-Pyston 2 igqitha kwi-Python 3.8 nge-factor ye-2. Iindleko zokusebenzisa i-JIT lonyuko oluncinci lokusetyenziswa kwememori.

Sonwabe kakhulu ukukhupha iPyston v2, ukumiliselwa okukhawulezayo kunye nokuhambelana kakhulu kolwimi lwenkqubo yePython. Inguqulelo yesi-2 ngama-20% ngokukhawuleza kunomgangatho oqhelekileyo wePython 3.8 kwiimpawu zethu ezinkulu. Okubaluleke ngakumbi, kunokwenzeka ngokukhawuleza kwikhowudi yakho. IPyston v2 inokunciphisa iindleko zeseva, inciphise amathuba omsebenzisi, kwaye iphucule imveliso yonjiniyela.

IPyston v2 kulula ukuyenza, ke ukuba ujonge ukusebenza okungcono kwePython, sicebisa ukuba uthathe imizuzu emihlanu uzame iPyston. Ukwenza njalo yenye yeendlela ezilula zokukhawulezisa iprojekthi yakho.

Ngokuhambelana nokuhambelana ngePython yemveli, iprojekthi yePyston ithathwa njengeyona ndlela isebenzayo yokuphumeza i-CPython, kuba iPyston yifolokhwe yekhowudi ephambili yeCPython.

IPyston ixhasa yonke imisebenzi ye-CPython, kubandakanya i-C API yokuphuhlisa ulwandiso C. IPyston yayiqale yaphuhliswa yiDropbox, ethi ngo-2017 ithathe isigqibo sokuphelisa uphuhliso lwangaphakathi. Ekuqaleni kuka-2020, abaphuhlisi abaphambili basePyston basungula inkampani yabo, bayihlaziya ngokupheleleyo iprojekthi, kwaye baqala ukusebenza ngokusisigxina ePyston.

Iinkcukacha zobuchwephesha kwi-Pyston 2 padding azikabikho okwangoku, kuphela yi-DynASM JIT, i-inline caching, kunye nokwenza ngokubanzi kwe-CPython kuyakhankanywa. Uhlobo lwangaphambili lwePyston lwalusebenzisa enye indlela ye-JIT ngexesha, efanayo kwiJIT kwiinjini zangoku zeJavaScript.

Kwi-JIT, ikhowudi yePython yagqitywa yaza yaguqulelwa ukumelwa okuphakathi LLVM (IR, ukumelwa okuPhakathi). Ngapha koko, ukumelwa kwe-IR kwagqitywa kwisilungisi se-LLVM kwaye kwadluliselwa kwinjini ye-LLVM JIT yokwenza, eyaguqula ukumelwa kwe-IR kwikhowudi yomatshini.

Ukufumana ulwazi malunga neendidi eziguquguqukayo zeenkqubo kulwimi olunamandla lwePython, ubuchule bokuxelwa kwangaphambili kweentlobo zezinto ezisetyenzisiweyo, zilandelwa kukucaciswa kokhetho oluchanekileyo lodidi ngexesha lokuphunyezwa.

Ke ngoko, uPyston uhlala ehlukahluka ukwenziwa phakathi kwamasebe amabini: ukukhawuleza, xa amaxabiso aqikelelweyo eqinisekisiwe, kunye nokucotha, okusetyenziswa kwimeko yohlobo olungahambelaniyo.

Umsebenzi unokwenziwa kwimowudi yokufunda emininzi, ukuvumela ukwenziwa okufanayo kwemisonto emininzi yekhowudi kulwimi lwePython kwaye simahla kutoliko lwehlabathi (GIL).

Gqibela ukuba ufuna ukwazi ngakumbi ngayo, ungazijonga iinkcukacha kwi ukulandela ikhonkco.


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.