Pystoni projekt, mis pakub Pythonit koos JIT-kompilaatoriga, on naasnud avatud arendusmudeli juurde

Pystoni projekti, mis pakub Pythoni keele suure jõudlusega juurutamist, kasutades kaasaegseid JIT-i kompileerimistehnoloogiaid, arendajad esitlesid Pyston 2.2 uut väljalaset ja teatasid projekti naasmisest avatud lähtekoodiga. Rakenduse eesmärk on saavutada kõrge jõudlus, mis on lähedane traditsiooniliste süsteemikeelte (nt C++) omale. Pyston 2 haru kood avaldatakse GitHubis PSFL-i (Python Software Foundationi litsentsi) all, sarnaselt CPythoni litsentsiga.

Meenutagem, et Pystoni projekti juhendas varem Dropbox, kes lõpetas 2017. aastal arenduse rahastamise. Pystoni arendajad asutasid oma ettevõtte ja andsid välja oluliselt ümberkujundatud Pyston 2 haru, mis kuulutati stabiilseks ja valmis laialdaseks kasutamiseks. Samal ajal lõpetasid arendajad lähtekoodi avaldamise ja läksid üle ainult binaarkoostude pakkumisele. Nüüd otsustati Pyston teha taas avatud lähtekoodiga projektiks ning viia ettevõte üle avatud lähtekoodiga tarkvara arendamisega seotud ärimudelile. Lisaks kaalutakse võimalust viia optimeerimised Pystonilt standardsele CPythonile üle.

Tuleb märkida, et Pyston 2.2 on 30% kiirem kui standard Python jõudlustestides, mis hindavad veebiserveri rakendustele omaseid koormusi. Samuti on Pyston 2.2 jõudluses võrreldes eelmiste väljaannetega märkimisväärne kasv, mis saavutati peamiselt uute valdkondade optimeerimiste lisamise, samuti JIT-i ja vahemällu salvestamise mehhanismide täiustamise kaudu.

Lisaks jõudluse optimeerimisele on uus väljalase huvitav ka seetõttu, et see kannab üle CPython 3.8.8 harust tehtud muudatused. Oma Pythoniga ühilduvuse osas peetakse Pystoni projekti kõige CPythoniga ühilduvamaks alternatiivseks teostuseks, kuna Pyston on CPythoni põhikoodibaasi kahvel. Pyston toetab kõiki CPythoni funktsioone, sealhulgas C API-d laienduste arendamiseks C-keeles. Peamiste erinevuste hulgas Pystoni ja CPythoni vahel on DynASM JIT-i kasutamine, tekstisisene vahemälu ja üldine optimeerimine.

Pystoni 2.2 muudatuste hulgas mainitakse ka koodibaasi puhastamist paljudest CPythoni silumisfunktsioonidest, mis mõjutavad jõudlust negatiivselt, kuid pole arendajate seas peaaegu nõutud. Esitatakse statistika, mille kohaselt silumistööriistade eemaldamine kiirendab 2%, hoolimata asjaolust, et neid funktsioone kasutab ainult umbes 2% arendajatest.

Allikas: opennet.ru

Lisa kommentaar