Die Pyston-projek, wat Python met 'n JIT-samesteller bied, het teruggekeer na 'n oop ontwikkelingsmodel

Die ontwikkelaars van die Pyston-projek, wat 'n hoëprestasie-implementering van die Python-taal bied met behulp van moderne JIT-samestellingstegnologieë, het 'n nuwe weergawe van Pyston 2.2 aangebied en die terugkeer van die projek na die oopbron aangekondig. Die implementering het ten doel om hoë werkverrigting te bereik naby dié van tradisionele stelseltale soos C++. Die kode vir die Pyston 2-tak word op GitHub gepubliseer onder die PSFL (Python Software Foundation License), soortgelyk aan die CPython-lisensie.

Laat ons onthou dat die Pyston-projek voorheen onder toesig was van Dropbox, wat ontwikkeling in 2017 gestaak het. Die Pyston-ontwikkelaars het hul maatskappy gestig en 'n aansienlik herontwerpte Pyston 2-tak vrygestel, wat as stabiel verklaar en gereed is vir wydverspreide gebruik. Terselfdertyd het die ontwikkelaars opgehou om die bronkode te publiseer en oorgeskakel na die verskaffing van slegs binêre samestellings. Nou is besluit om van Pyston weer 'n oopbronprojek te maak, en die maatskappy oor te dra na 'n sakemodel wat verband hou met die ontwikkeling van oopbronsagteware. Boonop word die moontlikheid oorweeg om optimaliserings van Pyston na standaard CPython oor te dra.

Daar word opgemerk dat Pyston 2.2 30% vinniger is as standaard Python in prestasietoetse wat die vragte wat inherent is aan webbedienertoepassings evalueer. Daar is ook 'n aansienlike toename in werkverrigting in Pyston 2.2 in vergelyking met vorige vrystellings, wat hoofsaaklik bereik is deur die toevoeging van optimaliserings vir nuwe gebiede, sowel as verbeterings aan JIT en kasmeganismes.

Benewens prestasieoptimalisering, is die nuwe vrystelling ook interessant omdat dit veranderinge van die CPython 3.8.8-tak oordra. Wat versoenbaarheid met inheemse Python betref, word die Pyston-projek voorgehou as die mees CPython-versoenbare alternatiewe implementering, aangesien Pyston 'n vurk van die hoof CPython-kodebasis is. Pyston ondersteun al die kenmerke van CPython, insluitend die C API vir die ontwikkeling van uitbreidings in die C-taal. Van die belangrikste verskille tussen Pyston en CPython is die gebruik van DynASM JIT, inlyn-kas en algemene optimalisering.

Onder die veranderinge in Pyston 2.2 word daar ook melding gemaak van die skoonmaak van die kodebasis van baie ontfoutingskenmerke van CPython, wat prestasie negatief beïnvloed, maar byna nie in aanvraag onder ontwikkelaars is nie. Statistieke word gegee waarvolgens die verwydering van ontfoutingsnutsgoed lei tot 'n 2% versnelling, ten spyte van die feit dat slegs ongeveer 2% van ontwikkelaars hierdie funksies gebruik.

Bron: opennet.ru

Voeg 'n opmerking