Pyston-lite lansert, JIT-kompilator for standard Python

Utviklerne av prosjektet Pyston, som tilbyr en høyytelsesimplementering av språket Python med moderne JIT-kompileringsteknologier, har introdusert Pyston-lite-utvidelsen med implementering av JIT-kompilatoren for CPython. Mens Pyston er en avlegg av CPython-koden og utvikles uavhengig, er Pyston-lite utformet som et universelt tillegg som er ment for tilkobling til standard Python-interpretatoren (CPython).

Pyston-lite gjør det mulig å bruke grunnleggende Pyston-teknologier uten å erstatte tolkeren, gjennom installasjon av et ekstra tillegg ved hjelp av pakkehåndtereren PIP eller Conda. Pyston-lite er allerede tilgjengelig i PyPI- og Conda-repositoriene, og for å installere er det nok å kjøre kommandoen «pip install pyston_lite_autoload» eller «conda install pyston_lite_autoload -c pyston». To pakker er tilbudt: pyston_lite (selve JIT) og pyston_lite_autoload (som gjør automatisk substitusjon av JIT ved oppstart av Python-prosessen). Det er også mulig å styre JIT-aktivering fra applikasjonen uten å installere autoload-modulen, ved å bruke funksjonen pyston_lite.enable().

Selv om Pyston-lite ikke dekker alle tilgjengelige optimaliseringer i Pyston, kan bruken av den øke ytelsen med omtrent 10-25% sammenlignet med vanlig Python 3.8. I fremtiden er det planlagt å overføre de fleste optimaliseringene som finnes i Pyston til Pyston-lite, samt utvide de støttede versjonene av CPython (den første utgivelsen støtter bare Python 3.8). Av mer omfattende planer er det samarbeidet med CPython-teamet om å implementere nye API-er for JIT, som gir bedre kontroll over Python. Endringer foreslås inkludert i Python 3.12-grenen. Ideelt vurderes det å overføre all funksjonalitet fra Pyston til utvidelsen, noe som ville eliminere behovet for å opprettholde en egen fork av CPython.

I tillegg til Pyston-lite har prosjektet også utgitt en oppdatering av den fullstendige Pyston 2.3.4-pakken, som tilbyr nye optimaliseringer. I pyperformance-testen er versjon 2.3.4 omtrent 6% raskere enn versjon 2.3.3. Den totale ytelsesgevinsten sammenlignet med CPython er estimert til 66%.

Ytterligere kan man merke seg optimaliseringene som utvikles innenfor utviklingssyklusen av CPython 3.11, som i enkelte tester har økt ytelsen med 25 %. For eksempel, i CPython 3.11 er effektiviteten i hurtigbuffring av bytekode for grunnleggende moduler forbedret, noe som vil akselerere skriptoppsett med 10-15 %. Funksjonskall har blitt betydelig raskere, og spesialiserte hurtige tolker for typiske operasjoner har blitt lagt til. Arbeidet med å overføre noen optimaliseringer forberedt av prosjektene Cinder og HotPy pågår også.

I tillegg arbeides det innenfor nogil-prosjektet med en eksperimentell kompilasjonsmodus av CPython uten global lås på tolken (GIL, Global Interpreter Lock), som forhindrer parallell tilgang til delte objekter fra forskjellige tråder, noe som hindrer parallellisering av operasjoner på flerkjerne-systemer. Som et alternativ til GIL-problemet utvikles muligheten for å knytte hver enkelt GIL til hver tolk som kjører innenfor prosessen (i én prosess kan flere tolker kjøre, men effektiviteten i deres parallelle utførelse er begrenset av GIL).

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster