DeepMind, oo ah shirkad caan ku ah shaqada sirdoonka macmalka ah, ayaa si furan u furtay mashruuca S6, kaas oo sameeyay qalab JIT ah oo loogu talagalay Python. Mashruucu waa mid caan ku ah naqshadeyntiisa oo ah maktabad kordhin ah oo la jaanqaadaysa CPython-ka asalka ah, taasoo hubinaysa iswaafajin buuxda oo lala yeesho CPython oo aan u baahnayn wax ka beddel koodka turjumaanka. Mashruucu wuxuu socday tan iyo 2019, laakiin nasiib darro, waa la joojiyay mana sii socdo. Maadaama shaqada la abuuray ay waxtar u yeelan karto hagaajinta Python, go'aanka waxaa la gaaray in la furo ilo. Koodhka isku-darka JIT wuxuu ku qoran yahay C++, oo ku salaysan CPython 3.7, waxaana shati haysta shatiga Apache 2.0.
Marka la eego hawlaha ay xalliso, S6 ee Python waxaa la barbar dhigaa matoorka V8 ee JavaScript. Maktabaddu waxay beddeshaa maareeyaha turjubaanka bytecode ee hadda jira hirgelintiisa, kaas oo isticmaala isku-darka waqtiga-ku-meel-gaarka ah (JIT) si loo dedejiyo fulinta. S6 wuxuu hubiyaa in shaqada hadda jirta hore loo diyaariyey, haddii ay sidaas tahayna, wuxuu fuliyaa koodka la soo ururiyey. Haddii kale, waxay ku shaqeysaa shaqada qaabka fasiraadda bytecode, oo la mid ah turjubaanka CPython. Inta lagu jiro fasiraadda, tirada tilmaamaha la fuliyay iyo wicitaannada la xiriira shaqada la farsameynayo ayaa la tiriyaa. Ka dib marka la gaaro heer gaar ah, habka isku-darka ayaa la bilaabaa si loo dedejiyo koodka si joogto ah loo fuliyo. Isu-ururintu waxay dhacdaa matalaadda dhexe ee strongjit, kaas oo, ka dib marka la hagaajiyo, loo beddelo tilmaamaha mashiinka asalka ah ee nidaamka bartilmaameedka iyadoo la adeegsanayo maktabadda asmjit.
Iyada oo ku xidhan culayska shaqada, S6, oo ku jira xaalado wanaagsan, waxay muujinaysaa ilaa 9.5x fulinta halbeegga ka dhakhso badan CPython-ka caadiga ah. Ku socodsiinta 100 jeer oo isku-darka halbeegga Richards waxay keentaa xawaare 7x ah, halka socodsiinta halbeegga Raytrace, oo ku lug leh xisaabin xisaabeed oo ballaaran, ay keento xawaare 3-4.5x ah.
Hawlaha ay adag tahay in lagu hagaajiyo S6 waxaa ka mid ah mashaariicda isticmaalaya C API, sida NumPy, iyo hawlgallada u baahan hubinta nooca qiimaha badan. Waxqabad hooseeya ayaa sidoo kale lagu arkay wicitaannada hal-hal ah ee hawlaha kheyraadka badan sababtoo ah isticmaalka S6 ee turjumaan Python ah oo gaar ah oo aan la hagaajin (horumarintu weli ma gaarin heerka hagaajinta qaabka la tarjumay). Tusaale ahaan, tijaabada Unpack Sequence, kaas oo furfuraya qaybo waaweyn oo taxane ah/tuples ah, wicitaan keliya ayaa hoos u dhacaya ilaa 5 jeer, halka wicitaan wareeg ah uu keeno waxqabad 0.97 jeer ka gaabis badan CPython.
Source: opennet.ru
