Programavimas

„Microsoft Pyjion“ padidina „Python“ greitį

Naujas atvirojo kodo „Microsoft“ projektas „Pyjion“ pagerina „Python“ kalbos greitį, papildydamas vertybinių popierių vertėją JIT, gaunamu iš „Microsoft“ „CoreCLR“ projekto.

„Python“ standartinio leidimo vykdymo laikas „CPython“ aiškina tik „Python“ programų baitų kodą ir nepagreitina, kompiliuodamas kodą jokiu būdu. Vienas paplitęs būdas pagreitinti „Python“ yra visiškai pakeisti „CPython“. „PyPy“, populiarus „CPython“ pakaitalas, naudoja JIT kompiliatorių, kad pagreitintų „Python“ programas.

„PyPy“ suteikia didelę spartą daugeliui programų, bet ne visoms, o kartais net prastesnį našumą nei „CPython“. Jis taip pat neturi geriausio palaikymo „CPython“ plėtinių moduliams, kurie yra plačiai naudojami „Python“ programose, tokiose kaip mokslinis skaičiavimas; taigi kai kurie iš labiausiai užsidegusių „Python“ vartotojų apskritai negali pasinaudoti „PyPy“.

Pyjionas laikosi kitokio požiūrio. Tai prideda JIT API prie „CPython“, todėl kelis JIT galima prijungti tiesiai prie „CPython“. Kadangi „CPython“ vis dar naudojamas, programos veikia kaip įprasta, įskaitant tas, kurios priklauso nuo plėtinių modulių.

Be to, „Pyjion“ nukreipta į „Python 3“, kur kiti „Python“ pagreičio projektai iš esmės pirmenybę teikia „Python 2“.nesinchronizuoti / laukti) neveiks.

„Microsoft“ teigia, kad Pyjion metodas yra lankstesnis, nes JIT komponentas yra apdorojamas kaip papildomas išteklius. JT pasirinkimas, pagrįstas „CoreCLR“, nėra vienintelis pasirinkimas, bet jis yra koncepcijos įrodymas. Remiantis „GitHub“ dokumentais, „Microsoft“ tikisi, kad tai „sukels JIT„ Python “vykdymo laiką, leisdamas žmonėms pasirinkti JIT, geriausiai atitinkantį jų darbo krūvį“.

„Microsoft“ prisideda prie esamų atvirojo kodo projektų, daugiausia netiesiogiai remdama savo pastangas. Pavyzdžiui, jos indėlis į „Linux“ branduolį buvo daugiausia susijęs su tuo, kad „Linux“ būtų pirmos klasės pilietis Azure. Tačiau kalbos darbas buvo šiek tiek atviresnis, ir jei Pyjionas ras trauką, tai bus vienas didžiausių „Microsoft“ indėlių į kalbos, kuriai anksčiau nebuvo tiesioginės rankos, ekosistemą.

$config[zx-auto] not found$config[zx-overlay] not found