Programmering

Pyston vender tilbage fra de døde for at fremskynde Python

Udvikling af Pyston, en variant af Python-runtime, der bruger just-in-time kompilering til at fremskynde udførelsen af ​​Python-programmer, er tilbage igen efter en lang periode med limbo. Fortsat hvor Dropbox slap, har et nyt udviklingsteam frigivet Pyston 2.0.

Pyston leverer, hvad der i sidste ende er beregnet til at være en drop-in erstatning for standard Python runtime, CPython. Det er kompatibelt med Python 3.8, så programmer, der kører med den version af Python, skal køre som de er på Pyston.

Pyston udfører kodegenerering ved hjælp af just-in-time kompilering eller JITting for at give mange af sine speedups. Pure-Python-programmer viser de største forbedringer, mens programmer, der bruger C / C ++ -moduler til hurtigere udførelse, som PyTorch, viser mindre eller ingen.

Et af målene med projektet var at forblive så tæt som muligt på den oprindelige implementering af CPython, da mange tredjepartsprojekter antager antagelser om CPython-opførsel. Således begyndte Pyston 2.0 med den eksisterende CPython-kodebase og tilføjede funktioner fra Pyston 1.0, der fungerede godt, såsom caching-attributter og JITting. Pystons JIT bruger ikke længere LLVM, men DynASM til at udsende samling direkte.

JITting er den samme teknik, som et andet projekt, PyPy, bruger til at levere større hastigheder til Python-applikationer - i nogle tilfælde syv gange, hvad CPython kan levere. Imidlertid hævder Pystons producenter, at deres tilgang har flere fordele i forhold til PyPy, herunder bedre kompatibilitet med CPythons C API og lavere hukommelsesforbrug til almindelige arbejdsbelastninger (fx Flask og DjangoCMS).

Oprettet på Dropbox ophørte Pyston med at udvikle sig i 2017, da Dropbox trak supporten tilbage. Nu fortsætter projektet under pleje af nogle af dets oprindelige udviklere, om end uafhængigt.

”I begyndelsen af ​​2020,” siger den officielle Pyston-blog, “var der nok stykker på plads til, at vi kunne starte et firma og arbejde på Pyston på fuld tid.” I modsætning til den oprindelige Pyston-inkarnation er den nye version dog lukket for øjeblikket, da de nye forvaltere bestemmer deres forretningsmodel. Kildekoden, der er tilgængelig på projektets GitHub, ser ud til at stamme fra dens tidligere inkarnation, ikke den seneste version.

Forudbyggede binære filer af Pyston er tilgængelige til Ubuntu 18.04 og Ubuntu 20.04 x86_64. Udviklingsteamet er villig til at bygge andre udgaver baseret på brugerfeedback.