Programmering

Pyston kommer tilbake fra de døde for å få fart på Python

Utvikling av Pyston, en variant av Python-kjøretiden som bruker just-in-time kompilering for å øke hastigheten på utførelsen av Python-programmer, er igjen på gang etter en lang periode med limbo. Fortsatt der Dropbox slapp, har et nytt utviklingsteam gitt ut Pyston 2.0.

Pyston tilbyr det som til slutt er ment å være en drop-in erstatning for standard Python kjøretid, CPython. Den er kompatibel med Python 3.8, så programmer som kjører med den versjonen av Python, bør kjøres som de er på Pyston.

Pyston utfører kodegenerering ved hjelp av just-in-time kompilering, eller JITting, for å gi mange av sine hastigheter. Pure-Python-programmer viser de største forbedringene, mens programmer som bruker C / C ++ -moduler for raskere kjøring, som PyTorch, viser mindre eller ingen.

Et av målene med prosjektet var å være så nær som mulig den opprinnelige implementeringen av CPython, siden mange tredjepartsprosjekter antar CPython-oppførsel. Dermed begynte Pyston 2.0 med den eksisterende CPython-kodebasen og la til funksjoner fra Pyston 1.0 som fungerte bra, for eksempel caching-attributter og JITting. Pystons JIT bruker ikke lenger LLVM, men DynASM for å avgi montering direkte.

JITting er den samme teknikken som brukes av et annet prosjekt, PyPy, for å levere store hastigheter til Python-applikasjoner - i noen tilfeller syv ganger det CPython kan levere. Imidlertid hevder Pystons produsenter at deres tilnærming har flere fordeler i forhold til PyPy, inkludert bedre kompatibilitet med CPythons C API og lavere minneforbruk for vanlige arbeidsbelastninger (f.eks. Flask og DjangoCMS).

Opprettet på Dropbox, Pyston opphørte utviklingen i 2017 da Dropbox trakk støtte. Nå fortsetter prosjektet under omsorg av noen av de opprinnelige utviklerne, om enn uavhengig.

"Tidlig i 2020," sa den offisielle Pyston-bloggen, "var det nok stykker på plass for at vi kunne starte et selskap og jobbe på Pyston på heltid." Imidlertid, i motsetning til den opprinnelige Pyston-inkarnasjonen, er den nye versjonen foreløpig lukket, da de nye forvalterne bestemmer forretningsmodellen. Kildekoden som er tilgjengelig på prosjektets GitHub ser ut til å være fra den tidligere inkarnasjonen, ikke den siste versjonen.

Forhåndsbygde binærfiler fra Pyston er tilgjengelig for Ubuntu 18.04 og Ubuntu 20.04 x86_64. Utviklingsteamet er villig til å bygge andre utgaver basert på tilbakemeldinger fra brukerne.

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