I-DeepMind ikhuphe ikhowudi yomthombo we-S6, i-JIT compiler yePython

S6-ingqondo enzulu

I-S6, yilayibrari ezimeleyo yomqokeleli we-JIT ye-CPython

Ingqondo enzulu, eyaziwa ngokukhula kwayo kwinkalo yobukrelekrele bokwenziwa, kutshanje ibhengeze ukuba wenze isigqibo sokukhulula ikhowudi yomthombo weprojekthi ye-S6, oko kukuthi waphuhlisa umqambi we-JIT wolwimi lwePython.

Iprojekthi inomdla kuba Yenziwe njengethala leencwadi elongezelelweyo enokudityaniswa ne-CPython eqhelekileyo, leyo Ibonelela ngokuhambelana ngokupheleleyo neCPython kwaye ayifuni kuguqulwa yekhowudi yetoliki. Le projekthi ibiphuhliswa ukusukela ngo-2019, kodwa ngelishwa yathotywa kwaye ayisaphuhlisi.

I-S6 yayiyiprojekthi eqalwe ngaphakathi kwe-DeepMind ngo-2019 ukukhawulezisa i-CPython ngokuhlanganisa nje-ngexesha ("JIT"). Le misebenzi iya kubonelelwa njengethala leencwadi lePython eqhelekileyo kwaye akukho tshintsho luya kufuneka lwenziwe kwitoliki yeCPython. I-S6 yenzelwe ukwenza iPython into eyenziwa yiV8 kwiJavascript (igama liyimbeko kuV8). Umsebenzi wawusekelwe kwi-CPython version 3.7. Ngokuxhomekeke kumthwalo womsebenzi, sibone ukukhawuleza ukuya kuthi ga kwi-9.5x kwiibenchmarks eziqhelekileyo.

Esona sizathu siphambili sokuba kuthathwe isigqibo sokukhulula ikhowudi yomthombo, enye yazo kwaye njengoko sele kukhankanyiwe kukuba iprojekthi yayeka ukuba nenkxaso, esinye sezizathu eziphambili zanikwa ukuba ngokusekelwe kuphuhliso olwenziweyo, ezi zisenokuba luncedo ekuphuculeni iPython. .

Siyekile ukusebenza kwi-S6 ngaphakathi. Ngenxa yoko, le ndawo yokugcina igcinwe kwaye asamkeli izicelo zokutsalwa okanye imiba. Sivula umthombo kwaye sinika umbono woyilo olungezantsi ukuvuselela iincoko ngaphakathi kuluntu lwePython kwaye sikhuthaze umsebenzi wexesha elizayo wokuphucula iPython.

Ngokumalunga nokusebenza kwe-S6, kufuneka siyikhankanye loo nto I-S6 yePython ithelekisa kwi-injini ye-V8 yeJavaScript ngokwemisebenzi eyisombululayo. Ithala leencwadi lithatha indawo yomqhubi wetoliki we-ceval.c bytecode okhoyo ngomiliselo lwalo olusebenzisa uqulunqo lweJIT ukukhawulezisa ukwenziwa.

I-S6 ijonga ukuba umsebenzi wangoku sele uqulunqwe kwaye ukuba kunjalo, iqhuba ikhowudi ehlanganisiweyo, kwaye ukuba akunjalo, iqhuba umsebenzi kwimodi ye-bytecode yokutolika efana netoliki yeCPython. Utoliko lubala inani lemiyalelo eyenziweyo kunye neefowuni ezinxulumene nomsebenzi oqhutyelwa phambili.

Emva kokufikelela kwinqanaba elithile, inkqubo yokwakha iqalwa ukukhawulezisa ikhowudi ebaleka rhoqo. Ukuhlanganiswa kwenziwa kwi-strongjit ephakathi ukumelwa, okuthi, emva kokulungiswa, kuguqulelwe kwimiyalelo yomatshini wenkqubo ekujoliswe kuyo usebenzisa ilayibrari ye-asmjit.

Ngokuxhomekeke kubume bomthwalo, phantsi kweemeko ezifanelekileyo, i-S6 ibonisa ukunyuka kwesantya sokwenza uvavanyo ukuya kuthi ga kwi-9,5 amaxesha xa kuthelekiswa neCPython eqhelekileyo.

Xa uphindaphindo lwe-100 luphunyeziwe ukusuka kwiqela lovavanyo laseRichards, kukho ukukhawuleza kwamaxesha angama-7, kwaye xa uqhuba uvavanyo lweRaytrace, oluqulethe izibalo ezininzi zemathematika, yi-3 ukuya ku-4,5 amaxesha ngokukhawuleza.

Imisebenzi ekunzima ukuyenza kunye ne-S6 ziiprojekthi ezisebenzisa iC API, njenge NumPy, kunye nemisebenzi enxulumene nesidingo sokujonga iindidi zenani elikhulu lamaxabiso.

Ukusebenza kakubi kukwabonwa kwiifowuni zemisebenzi enye ezisisixhobo esinzulu ngenxa yokusetyenziswa kokuphunyezwa okungaphucukanga kwetoliki yePython ye-S6 (uphuhliso alukafikeleli kwinqanaba lokuphucula indlela yokutolika).

Ngokomzekelo, kuvavanyo lwe-Unpack Sequence, olukhupha iiseti ezinkulu ze-arrays / ii-tuples, kunye nefowuni enye i-slowdown ukuya kwii-5 amaxesha ibonwa, kunye ne-cyclic call ukusebenza yi-0,97 ukusuka kwi-CPython.

Gqibela kwabo banomdla wokwazi okungakumbi ngayo, kufuneka ukwazi ukuba ikhowudi ye-JIT compiler ibhaliwe kwi-C ++ kwaye ngoku isekelwe kwi-CPython 3.7, ngaphezu kwekhowudi yomthombo esele ivuliwe phantsi kwelayisensi ye-Apache 2.0 kwaye unokubonisana nayo. kwikhonkco elingezantsi.


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.