Programmēšana

Microsoft Pyjion palielina Python ātrumu

Jauns atvērtā koda Microsoft projekts Pyjion uzlabo Python valodas ātrumu, papildinot tā krājumu tulku ar JIT, kas iegūts no Microsoft CoreCLR projekta.

Python standarta izlaiduma izpildlaiks CPython tikai interpretē Python lietotņu baitkodu un nepaātrina, nekādā veidā apkopojot kodu. Viena izplatīta metode, kā paātrināt Python, ir pilnībā aizstāt CPython. PyPy, populārs CPython aizstājējs, izmanto JIT kompilatoru, lai paātrinātu Python lietojumprogrammas.

PyPy nodrošina krietnu ātruma palielinājumu daudzām lietojumprogrammām, bet ne visām, un dažreiz tas nodrošina pat sliktāku sniegumu nekā CPython. Tam nav arī vislabākā atbalsta CPython paplašināšanas moduļiem, kurus plaši izmanto Python lietojumprogrammās, piemēram, zinātniskajā skaitļošanā; tādējādi daži no visdedzīgākajiem Python lietotājiem nemaz nevar izmantot PyPy.

Pjions izvēlas citu pieeju. Tas pievieno JIT API CPython, tāpēc vairākus JIT var pievienot tieši CPython. Tā kā CPython joprojām tiek izmantots, lietotnes darbojas kā parasti, ieskaitot tās, kas paļaujas uz paplašinājumu moduļiem.

Arī Pyjion mērķauditorija ir Python 3, kur citi Python paātrināšanas projekti lielā mērā ir atbalstījuši Python 2. PyPy atbalsta Python 3, bet tikai Python 3.2, tāpēc kopš tā laika ir pievienotas tik daudz valodu konstrukcijas (piemēram,asinhronizēt / gaidīt) nedarbosies.

Microsoft apgalvo, ka Pjiona pieeja ir elastīgāka, jo JIT komponents tiek apstrādāts ar spraudni. JIT izvēle, kuras pamatā ir CoreCLR, nav domāta kā vienīgā iespēja, bet drīzāk tā kalpo kā koncepcijas pierādījums. Saskaņā ar GitHub dokumentāciju, Microsoft cer, ka tas "izraisīs JIT izpildlaiku izplatīšanos Python, ļaujot cilvēkiem izvēlēties JIT, kas vislabāk atbilst viņu darba slodzei".

Korporācija Microsoft piedalās esošajos atvērtā pirmkoda projektos, galvenokārt izmantojot savu darbību netiešu atbalstu. Tā ieguldījums, piemēram, Linux kodolā, galvenokārt bija saistīts ar Linux padarīšanu par pirmās klases pilsoni Azure. Bet tā valodas darbs ir bijis nedaudz atvērtāks, un, ja Pjions atradīs saķeri, tas būs viens no lielākajiem ieguldījumiem, ko Microsoft devis valodas ekosistēmā, kurai iepriekš nebija tiešas rokas.

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