Le projet Pyston, qui propose Python avec un compilateur JIT, revient à un modèle de développement ouvert

Les développeurs du projet Pyston, qui propose une implémentation performante du langage Python utilisant les technologies modernes de compilation JIT, ont présenté une nouvelle version de Pyston 2.2 et ont annoncé le retour du projet à l'open source. L'implémentation vise à atteindre des performances élevées proches de celles des langages système traditionnels tels que le C++. Le code de la branche Pyston 2 est publié sur GitHub sous la licence PSFL (Python Software Foundation License), similaire à la licence CPython.

Rappelons que le projet Pyston était auparavant supervisé par Dropbox, qui a arrêté de financer le développement en 2017. Les développeurs de Pyston ont fondé leur entreprise et ont publié une branche Pyston 2 considérablement repensée, qui a été déclarée stable et prête à être utilisée à grande échelle. Dans le même temps, les développeurs ont arrêté de publier le code source et sont passés à fournir uniquement des assemblys binaires. Il a maintenant été décidé de faire de Pyston un projet open source et de transférer l'entreprise vers un modèle économique lié au développement de logiciels open source. De plus, la possibilité de transférer les optimisations de Python vers le CPython standard est à l'étude.

Il est à noter que Pyston 2.2 est 30 % plus rapide que Python standard dans les tests de performances qui évaluent les charges inhérentes aux applications serveur web. Il y a également une augmentation significative des performances dans Pyston 2.2 par rapport aux versions précédentes, obtenue principalement grâce à l'ajout d'optimisations pour de nouveaux domaines, ainsi qu'à des améliorations du JIT et des mécanismes de mise en cache.

En plus des optimisations de performances, la nouvelle version est également intéressante car elle reprend les modifications de la branche CPython 3.8.8. En termes de compatibilité avec Python natif, le projet Pyston est présenté comme l'implémentation alternative la plus compatible avec CPython, puisque Pyston est un fork de la base de code principale de CPython. Pyston prend en charge toutes les fonctionnalités de CPython, y compris l'API C pour développer des extensions en langage C. Parmi les principales différences entre Pyston et CPython figurent l'utilisation de DynASM JIT, la mise en cache en ligne et les optimisations générales.

Parmi les changements apportés à Python 2.2, il est également mentionné le nettoyage de la base de code de nombreuses fonctionnalités de débogage de CPython, qui affectent négativement les performances, mais ne sont presque pas demandées par les développeurs. Des statistiques sont données selon lesquelles la suppression des outils de débogage entraîne une accélération de 2 %, malgré le fait que seulement 2 % environ des développeurs utilisent ces fonctions.

Source: opennet.ru

Ajouter un commentaire