Pyston-lite is gepresenteerd, een JIT-compiler voor standaard Python

De ontwikkelaars van het Pyston-project, dat een hoogwaardige implementatie van de programmeertaal Python biedt met gebruik van moderne JIT-compilatietechnologieën, hebben de extensie Pyston-lite gepresenteerd met een implementatie van de JIT-compiler voor CPython. Terwijl Pyston een afsplitsing is van de codebasis van CPython en zich afzonderlijk ontwikkelt, is Pyston-lite opgesteld als een universele extensie die bedoeld is voor aansluiting op de standaard Python-interpreter (CPython).

Pyston-lite maakt het mogelijk om de basis technologieën van Pyston te gebruiken zonder de interpreter te vervangen, via de installatie van een aanvullende extensie met behulp van de pakketbeheerder PIP of Conda. Pyston-lite is al beschikbaar in de repositories van PyPI en Conda, en om het te installeren hoeft u alleen maar het commando 'pip install pyston_lite_autoload' of 'conda install pyston_lite_autoload -c pyston' uit te voeren. Er zijn twee pakketten aangeboden: pyston_lite (de JIT zelf) en pyston_lite_autoload (dit zorgt voor automatische invoeging van JIT bij het starten van het Python-proces). Het is ook mogelijk om JIT-programmatisch in te schakelen vanuit de applicatie zonder de autoload-module te installeren, door gebruik te maken van de functie pyston_lite.enable().

Hoewel Pyston-lite niet alle optimalisaties dekt die beschikbaar zijn in Pyston, maakt het gebruik ervan een prestatieverbetering van ongeveer 10-25% mogelijk in vergelijking met de reguliere Python 3.8. In de toekomst is het de bedoeling om de meeste optimalisaties die aanwezig zijn in Pyston over te brengen naar Pyston-lite, evenals de uitbreiding van de ondersteunde versies van CPython (de eerste versie ondersteunt alleen Python 3.8). Vanuit een breder perspectief wordt samenwerking met het CPython-team besproken om nieuwe API's voor JIT te implementeren, die meer controle over de werking van Python mogelijk maken. De voorgestelde wijzigingen worden besproken voor opname in de tak Python 3.12. Idealiter wordt de mogelijkheid overwogen om alle functionaliteit van Pyston naar de extensie over te brengen, wat het onderhoud van een eigen fork van CPython zou overbodig maken.

Naast Pyston-lite is er ook een update uitgebracht voor het volledige Pyston-pakket 2.3.4, dat nieuwe optimalisaties biedt. In de pyperformance-test is versie 2.3.4 ongeveer 6% sneller dan versie 2.3.3. De totale prestatiewinst in vergelijking met CPython wordt geschat op 66%.

Daarnaast kunnen de optimalisaties die binnen de ontwikkelingscyclus van CPython 3.11 zijn ontwikkeld, worden opgemerkt. Deze hebben in sommige tests geleid tot een prestatieverbetering van 25%. In CPython 3.11 is de efficiëntie van de caching van de bytecode-status van basismodules verhoogd, wat de opstarttijd van scripts met 10-15% versnelt. Het aanroepen van functies is aanzienlijk versneld en er zijn gespecialiseerde snelle interpreters voor typologische bewerkingen toegevoegd. Ook wordt er gewerkt aan de migratie van enkele optimalisaties die zijn voorbereid in de projecten Cinder en HotPy.

Daarnaast wordt binnen het nog in ontwikkeling zijnde project nogil gewerkt aan een experimentele modus voor het bouwen van CPython zonder de globale interpretatievergrendeling (GIL, Global Interpreter Lock), die gelijktijdige toegang tot gedeelde objecten vanuit verschillende threads voorkomt en zo parallelle uitvoering op multithreaded systemen belemmert. Als alternatief voor het GIL wordt er gewerkt aan de mogelijkheid om een aparte GIL aan elke interpreter te koppelen die binnen een proces wordt uitgevoerd (in één proces kunnen meerdere interpreters draaien, maar de efficiëntie van hun parallelle uitvoering wordt beperkt door het GIL).

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster