DeepMind aperta est S6, bibliotheca cum JIT compilator exsequenda pro CPython

DeepMind, notis suis progressibus in campo intellegentiae artificialis, fontem codicem propositi S6 aperuit, qui JIT compilator linguae Pythonis evolvit. Consilium est interesting quia ordinatur ad bibliothecam extensionem quae cum signo CPython integrat, plenam compatibilitatem cum CPython praestans et modificationem interpretis codicem non requirit. Project evolutionem cum 2019, sed proh dolor discessit et iam non est progressus. Cum progressiones creatae ad Pythonem emendandum utiles sint, placuit codicem aperire fontem. Compilator JIT in C ++ scriptus est et in CPython 3.7. et aperta est fons sub Apache 2.0 licentia.

In terminis operum solvere potest, S6 pro Pythone machinam V8 comparat pro JavaScript. Bibliotheca scriptoris exsistentem bytecode locum tenet ceval.c interpres tractatoris cum sua exsecutione quae JIT compilationem adhibet ad executionem accelerandam. S6 inhibet num munus hodiernum iam confectum sit et, si ita est, codicem compilatum exequitur, sin minus, munus in bytecode interpretationis modo currit, simile interprete CPythoni. In interpretatione, numerus instructionum exsecutorum et vocatorum cum officio processit, numeratur. Postquam ad certum miliarium pervenit, processus compilatio in codice frequentius exsecutioni mandandae inceptus est. Compilatio in repraesentationem strongjit medium exercetur, quae, post optimizationem, in apparatus instructiones convertitur systematis scopo utens bibliotheca asmjit.

Prout natura inposuit, S6 sub optimalibus conditionibus incrementum experimenti demonstrat celeritatem executionis usque ad 9.5 tempora regularibus CPython comparata. Cum iterationes 100 Richardorum testium currendo, celeritas 7x observatur, et cum currendo testium Raytracium, quod magnam quantitatem mathematicorum calculorum involvit, observatur celeritas 3-4.5x.

Inter opera quae difficilia ad optimize utendi S6 sunt incepta sunt quae C API utuntur, ut NumPy, necnon operationes quae ad necessitatem reprimendam rationes permulta valorum numerantur. Humilis effectus observatur etiam in singulis vocationibus functionum intensivarum intensivarum propter usum proprium S6 exsequendi Pythonis interpretis inoptimizandi (progressio non attigit scaenam optimizing interpretationis modus). Exempli gratia, in Unpack Sequentiae probatio, quae amplos vestium/tuples componit, una voce tarditas est usque ad 5 vices, et cum cyclica vocatione perficienda ab CPython 0.97 est.

Source: opennet.ru