Pyston se vraća iz mrtvih da ubrza Pythona

Razvoj Pystona, inačice Python vremena izvođenja koja koristi pravovremenu kompilaciju za ubrzavanje izvršavanja Python programa, ponovno se uključuje nakon dugog vremenskog ograničenja. Nastavljajući tamo gdje je Dropbox stao, novi razvojni tim objavio je Pyston 2.0.

Pyston nudi ono što je u konačnici zamišljeno kao zamjenska zamjena za standardno Python runtime, CPython. Kompatibilan je s Pythonom 3.8, pa bi programi koji se izvode s tom verzijom Pythona trebali raditi takvi kakvi jesu na Pystonu.

Pyston izvodi generiranje koda pomoću pravovremene kompilacije, ili JITting, kako bi se postigla mnoga njegova ubrzavanja. Programi Pure-Python pokazuju najveća poboljšanja, dok programi koji koriste C / C ++ module za brže izvršavanje, poput PyTorch, pokazuju manje ili nimalo.

Jedan od ciljeva projekta bio je ostati što bliži izvornoj implementaciji CPythona, jer mnogi treći projekti daju pretpostavke o ponašanju CPythona. Stoga je Pyston 2.0 započeo s postojećom CPython bazom koda i dodao značajke iz Pystona 1.0 koje su dobro funkcionirale, poput atributa predmemoriranja i JITtinga. Pystonov JIT više ne koristi LLVM, već DynASM za izravno emitiranje sklopa.

JITting je ista tehnika koju koristi drugi projekt, PyPy, za isporuku glavnih ubrzavanja Python aplikacijama - u nekim slučajevima sedam puta više od onoga što CPython može isporučiti. Međutim, tvornici Pystona tvrde da njihov pristup ima nekoliko prednosti u odnosu na PyPy, uključujući bolju kompatibilnost s CPythonovim C API-jem i manju potrošnju memorije za uobičajena radna opterećenja (npr. Flask i DjangoCMS).

Stvoren u Dropboxu, Pyston je prestao s razvojem 2017. godine kada je Dropbox povukao podršku. Sada se projekt nastavlja pod nadzorom nekih njegovih izvornih programera, iako neovisno.

"Početkom 2020. godine", navodi službeni blog Pystona, "bilo je dovoljno komada da osnujemo tvrtku i radimo na Pystonu s punim radnim vremenom." Međutim, za razliku od izvorne inkarnacije Pystona, nova je verzija zasad zatvorena, jer novi upravitelji određuju njihov poslovni model. Čini se da je izvorni kod dostupan na projektu GitHub iz njegove ranije inkarnacije, a ne najnovije verzije.

Unaprijed izgrađene binarne datoteke Pystona dostupne su za Ubuntu 18.04 i Ubuntu 20.04 x86_64. Razvojni tim spreman je izraditi druga izdanja na temelju povratnih informacija korisnika.