Programmēšana

Pistons atgriežas no mirušajiem, lai paātrinātu Python

Pyston, Python izpildlaika varianta, kas izmanto tieši savlaicīgu kompilāciju, lai paātrinātu Python programmu izpildi, izstrāde atkal ir iesākta pēc ilgas kavēšanās. Pārejot no vietas, kur Dropbox beidzās, jauna izstrādes komanda ir izlaidusi Pyston 2.0.

Pyston nodrošina to, kas galu galā ir paredzēts nomainīt standarta Python izpildlaiku CPython. Tas ir saderīgs ar Python 3.8, tāpēc programmām, kas darbojas ar šo Python versiju, Pyston jādarbojas tāpat kā ir.

Pyston veic kodu ģenerēšanu, izmantojot tieši savlaicīgu kompilāciju jeb JITting, lai iegūtu daudzus tā paātrinājumus. Pure-Python programmās ir redzami vislielākie uzlabojumi, savukārt programmās, kas ātrākai izpildei izmanto C / C ++ moduļus, piemēram, PyTorch, tiek rādītas mazāk vai nav nevienas.

Viens no projekta mērķiem bija palikt pēc iespējas tuvāk CPython sākotnējai ieviešanai, jo daudzi trešo pušu projekti izsaka pieņēmumus par CPython uzvedību. Tādējādi Pyston 2.0 sākās ar esošo CPython koda bāzi un pievienoja labi darbojošās funkcijas no Pyston 1.0, piemēram, kešatmiņas atribūtus un JITting. Pyston's JIT vairs neizmanto LLVM, bet DynASM, lai tieši izstarotu montāžu.

JITting ir tā pati metode, ko izmanto cits projekts PyPy, lai piegādātu galvenos ātrdarbības ātrumus Python lietojumprogrammām - dažos gadījumos septiņas reizes vairāk nekā CPython var piegādāt. Tomēr Pyston veidotāji apgalvo, ka viņu pieejai ir vairākas priekšrocības salīdzinājumā ar PyPy, tostarp labāka saderība ar CPython C API un mazāks atmiņas patēriņš parastajām darba slodzēm (piemēram, Flask un DjangoCMS).

Izveidots Dropbox, Pyston pārtrauca attīstību 2017. gadā, kad Dropbox atsauca atbalstu. Tagad projekts turpinās dažu sākotnējo izstrādātāju gādībā, kaut arī neatkarīgi.

"2020. gada sākumā," norāda oficiālais Pyston emuārs, "bija pietiekami daudz gabalu, lai mēs varētu dibināt uzņēmumu un strādāt pie Pyston pilna laika." Tomēr, atšķirībā no sākotnējās Pyston iemiesojuma, jaunā versija pagaidām ir slēgta koda, jo tās jaunie pārvaldnieki nosaka viņu biznesa modeli. Šķiet, ka projekta GitHub pieejamais avota kods ir no tā agrākās iemiesojuma, nevis jaunākās versijas.

Iepriekš izstrādātie Pyston binārie faili ir pieejami operētājsistēmām Ubuntu 18.04 un Ubuntu 20.04 x86_64. Izstrādes komanda ir gatava veidot citus izdevumus, pamatojoties uz lietotāju atsauksmēm.

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