I-DeepMind ikhiphe ikhodi yomthombo ye-S6, i-JIT compiler yePython

I-S6-ingqondo ejulile

I-S6, iwumtapo wezincwadi ozimele we-JIT we-CPython

ingqondo ejulile, eyaziwa ngokuthuthuka kwayo emkhakheni wezobunhloli bokwenziwa, isanda kumemezela lokho wenze isinqumo sokukhulula ikhodi yomthombo yephrojekthi ye-S6, okusho ukuthi athuthukiswe kusuka kumdidiyeli we-JIT wolimi lwePython.

Iphrojekthi iyathakazelisa ngoba yakhelwe njengomtapo wolwazi engahlanganiswa ne-CPython evamile, okuyinto inikeza ukuhambisana okugcwele kwe-CPython futhi ayidingi ukuguqulwa yekhodi yomhumushi. Le phrojekthi ibilokhu ithuthukiswa kusukela ngo-2019, kodwa ngeshwa ihlehlisiwe futhi ayisathuthuki.

I-S6 bekuyiphrojekthi eyaqalwa ngaphakathi kwe-DeepMind ngo-2019 ukusheshisa i-CPython ngokuhlanganisa okufika ngesikhathi ("JIT"). Le misebenzi izonikezwa njengelabhulali ye-Python evamile futhi azikho izinguquko kumhumushi we-CPython ezizodingeka. I-S6 ihlose ukwenzela iPython lokho i-V8 eyenzele i-Javascript (igama liwukuhlonipha i-V8). Umsebenzi wawususelwe kunguqulo ye-CPython 3.7. Ngokuya ngomthwalo womsebenzi, sibone ukushesha okungafika ku-9.5x kumabhentshimakhi ajwayelekile.

Isizathu esiyinhloko sokuthi kungani kunqunywe ukukhulula ikhodi yomthombo, enye yazo futhi njengoba sekushiwo kakade ukuthi iphrojekthi iyeka ukusekelwa, esinye sezizathu eziyinhloko sanikezwa ukuthi ngokusekelwe ekuthuthukisweni okudaliwe, lezi zisengaba usizo ekuthuthukiseni i-python. .

Siyeke ukusebenza ku-S6 ngaphakathi. Ngakho-ke, leli gumbi lifakwe kungobo yomlando futhi asamukeli izicelo zokudonsa noma izinkinga. Sivula umthombo futhi sinikeze ukubuka konke komklamo ngezansi ukuze sikhuthaze izingxoxo phakathi komphakathi wePython futhi sikhuthaze umsebenzi wesikhathi esizayo wokuthuthukisa iPython.

Mayelana nokusebenza kwe-S6, kufanele sikubalule lokho I-S6 yePython iqhathaniswa nenjini ye-V8 ye-JavaScript ngokwemisebenzi eyixazululayo. Ilabhulali ingena esikhundleni somshayeli okhona wotolika we-ceval.c bytecode ngokusebenzisa kwawo okusebenzisa ukuhlanganiswa kwe-JIT ukuze kusheshiswe ukusebenza.

I-S6 ihlola ukuthi umsebenzi wamanje usuhlanganisiwe yini futhi, uma kunjalo, isebenzisa ikhodi ehlanganisiwe, futhi uma kungenjalo, yenza umsebenzi ngemodi yokutolika ye-bytecode efana nomhumushi we-CPython. Utoliko lubala inombolo yezitatimende ezisayiniwe namakholi ahlotshaniswa nomsebenzi ocutshungulwayo.

Ngemva kokufinyelela ingqopha-mlando ethile, inqubo yokwakha iyaqalwa ukuze kusheshiswe ikhodi egijima njalo. Ukuhlanganiswa kwenziwa ekumeleleni okuphakathi kwe-strongjit, okuthi, ngemva kokuthuthukisa, kuguqulelwe kumiyalo yomshini wesistimu kusetshenziswa ilabhulali ye-asmjit.

Ngokuya ngemvelo yomthwalo, ngaphansi kwezimo ezifanele, i-S6 ibonisa ukwanda kwesivinini sokwenza ukuhlolwa kuze kufike ezikhathini ze-9,5 uma kuqhathaniswa ne-CPython evamile.

Lapho kwenziwa iziphindaphindo eziyi-100 kusukela ku-Richards test suite, kukhona ukusheshisa izikhathi ezingu-7, futhi lapho ugijima ukuhlolwa kwe-Raytrace, equkethe izibalo eziningi, i-3 kuya ku-4,5 izikhathi ngokushesha.

Imisebenzi okunzima ukuyithuthukisa nge S6 amaphrojekthi asebenzisa i-C API, njenge-NumPy, kanye nemisebenzi ehlobene nesidingo sokuhlola izinhlobo zenani elikhulu lamanani.

Ukusebenza kabi kuyabonakala nasezicingweni zomsebenzi owodwa edla izinsiza eziningi ngenxa yokusetshenziswa okungalungiseki kahle komhumushi we-S6 Python (intuthuko ayikafinyeleli esigabeni sokwenza ngcono imodi yokuhumusha).

Isibonelo, ekuhlolweni kwe-Unpack Sequence, evula amasethi amakhulu wamalungu afanayo/amakhophi, ikholi eyodwa ibonisa ukwehla okungafika ezikhathini ezingu-5, futhi ikholi yomjikelezo ikhipha u-0,97 ukusuka ku-CPython.

Okokugcina kulabo abanentshisekelo yokwazi kabanzi ngalo, kufanele wazi ukuthi ikhodi ye-JIT compiler ibhalwe ku-C++ futhi okwamanje isekelwe ku-CPython 3.7, ngaphezu kweqiniso lokuthi ikhodi yomthombo isivele ivuliwe ngaphansi kwelayisensi ye-Apache 2.0 futhi kungaboniswana nayo. kusuka kusixhumanisi esingezansi.


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.