El projecte Pyston, que ofereix Python amb un compilador JIT, ha tornat a un model de desenvolupament obert

Els desenvolupadors del projecte Pyston, que ofereix una implementació d'alt rendiment del llenguatge Python utilitzant les modernes tecnologies de compilació JIT, van presentar una nova versió de Pyston 2.2 i van anunciar el retorn del projecte al codi obert. La implementació pretén aconseguir un alt rendiment proper al dels llenguatges de sistema tradicionals com el C++. El codi de la branca Pyston 2 es publica a GitHub sota la PSFL (llicència Python Software Foundation), similar a la llicència CPython.

Recordem que el projecte Pyston va ser supervisat anteriorment per Dropbox, que va deixar de finançar el desenvolupament el 2017. Els desenvolupadors de Pyston van fundar la seva empresa i van llançar una branca de Pyston 2 significativament redissenyada, que es va declarar estable i preparada per a un ús generalitzat. Al mateix temps, els desenvolupadors van deixar de publicar el codi font i van passar a proporcionar només conjunts binaris. Ara s'ha decidit tornar a convertir Pyston en un projecte de codi obert, i traslladar l'empresa a un model de negoci relacionat amb el desenvolupament de programari de codi obert. A més, s'està considerant la possibilitat de transferir optimitzacions de Pyston a CPython estàndard.

Cal assenyalar que Pyston 2.2 és un 30% més ràpid que Python estàndard en les proves de rendiment que avaluen les càrregues inherents a les aplicacions de servidor web. També hi ha un augment significatiu del rendiment a Pyston 2.2 en comparació amb versions anteriors, que es va aconseguir principalment mitjançant l'addició d'optimitzacions per a noves àrees, així com millores en els mecanismes JIT i de memòria cau.

A més de les optimitzacions de rendiment, la nova versió també és interessant perquè incorpora els canvis de la branca CPython 3.8.8. Pel que fa a la compatibilitat amb Python natiu, el projecte Pyston es presenta com la implementació alternativa més compatible amb CPython, ja que Pyston és una bifurcació de la base de codi CPython principal. Pyston admet totes les funcions de CPython, inclosa l'API C per desenvolupar extensions en llenguatge C. Entre les principals diferències entre Pyston i CPython hi ha l'ús de DynASM JIT, la memòria cau en línia i les optimitzacions generals.

Entre els canvis a Pyston 2.2, també s'esmenta la neteja de la base de codi de moltes funcions de depuració de CPython, que afecten negativament el rendiment, però gairebé no són demanades entre els desenvolupadors. Es donen estadístiques segons les quals l'eliminació d'eines de depuració comporta una acceleració del 2%, malgrat que només al voltant del 2% dels desenvolupadors utilitzen aquestes funcions.

Font: opennet.ru

Afegeix comentari