Het Pyston-project, dat Python een JIT-compiler biedt, is teruggekeerd naar een open ontwikkelingsmodel

De ontwikkelaars van het Pyston-project, dat een krachtige implementatie van de Python-taal biedt met behulp van moderne JIT-compilatietechnologieën, presenteerden een nieuwe release van Pyston 2.2 en kondigden de terugkeer van het project naar de open source aan. De implementatie heeft tot doel hoge prestaties te bereiken die dicht bij die van traditionele systeemtalen zoals C++ liggen. De code voor de Pyston 2-tak wordt gepubliceerd op GitHub onder de PSFL (Python Software Foundation License), vergelijkbaar met de CPython-licentie.

Laten we niet vergeten dat het Pyston-project voorheen onder toezicht stond van Dropbox, dat in 2017 stopte met het financieren van de ontwikkeling. De Pyston-ontwikkelaars richtten hun bedrijf op en brachten een aanzienlijk opnieuw ontworpen Pyston 2-tak uit, die stabiel werd verklaard en klaar was voor wijdverbreid gebruik. Tegelijkertijd stopten de ontwikkelaars met het publiceren van de broncode en schakelden ze over op het leveren van alleen binaire assemblages. Nu is besloten om van Pyston weer een open source-project te maken en het bedrijf over te zetten naar een bedrijfsmodel gerelateerd aan de ontwikkeling van open source-software. Bovendien wordt de mogelijkheid overwogen om optimalisaties van Pyston naar standaard CPython over te brengen.

Opgemerkt wordt dat Pyston 2.2 30% sneller is dan standaard Python in prestatietests die de belastingen evalueren die inherent zijn aan webservertoepassingen. Er is ook een aanzienlijke prestatieverbetering in Pyston 2.2 vergeleken met eerdere releases, wat voornamelijk werd bereikt door de toevoeging van optimalisaties voor nieuwe gebieden, evenals verbeteringen aan JIT- en caching-mechanismen.

Naast prestatie-optimalisaties is de nieuwe release ook interessant omdat deze wijzigingen overneemt van de CPython 3.8.8-tak. In termen van compatibiliteit met native Python wordt het Pyston-project aangeprezen als de meest CPython-compatibele alternatieve implementatie, aangezien Pyston een fork is van de belangrijkste CPython-codebasis. Pyston ondersteunt alle functies van CPython, inclusief de C API voor het ontwikkelen van extensies in de C-taal. Een van de belangrijkste verschillen tussen Pyston en CPython is het gebruik van DynASM JIT, inline caching en algemene optimalisaties.

Onder de veranderingen in Pyston 2.2 wordt ook melding gemaakt van het opschonen van de codebasis van veel foutopsporingsfuncties van CPython, die de prestaties negatief beïnvloeden, maar waar ontwikkelaars bijna geen vraag naar hebben. Er worden statistieken gegeven waaruit blijkt dat het verwijderen van debugging-tools leidt tot een versnelling van 2%, ondanks het feit dat slechts ongeveer 2% van de ontwikkelaars deze functies gebruikt.

Bron: opennet.ru

Voeg een reactie