Pyston revient d'entre les morts pour accélérer Python

Le développement de Pyston, une variante du runtime Python qui utilise la compilation juste à temps pour accélérer l'exécution des programmes Python, est de retour après une longue période de limbes. Reprenant là où Dropbox s'est arrêté, une nouvelle équipe de développement a publié Pyston 2.0.

Pyston fournit ce qui est finalement destiné à remplacer le runtime Python standard, CPython. Il est compatible avec Python 3.8, donc les programmes qui s'exécutent avec cette version de Python doivent s'exécuter tels quels sur Pyston.

Pyston effectue la génération de code à l'aide de la compilation juste-à-temps, ou JITting, pour générer plusieurs de ses accélérations. Les programmes Pure-Python présentent les améliorations les plus importantes, tandis que les programmes qui utilisent des modules C / C ++ pour une exécution plus rapide, comme PyTorch, en affichent moins ou aucune.

L'un des objectifs du projet était de rester aussi proche que possible de l'implémentation originale de CPython, car de nombreux projets tiers émettent des hypothèses sur le comportement de CPython. Ainsi, Pyston 2.0 a commencé avec la base de code CPython existante et a ajouté des fonctionnalités de Pyston 1.0 qui fonctionnaient bien, telles que la mise en cache des attributs et JITting. Le JIT de Pyston n'utilise plus LLVM, mais DynASM pour émettre l'assemblage directement.

JITting est la même technique utilisée par un autre projet, PyPy, pour fournir des accélérations majeures aux applications Python - dans certains cas, sept fois ce que CPython peut fournir. Cependant, les fabricants de Pyston affirment que leur approche présente plusieurs avantages par rapport à PyPy, notamment une meilleure compatibilité avec l'API C de CPython et une consommation de mémoire inférieure pour les charges de travail courantes (par exemple, Flask et DjangoCMS).

Créé chez Dropbox, Pyston a cessé le développement en 2017 lorsque Dropbox a retiré le support. Maintenant, le projet se poursuit sous la garde de certains de ses développeurs d'origine, bien que de manière indépendante.

«Au début de 2020», déclare le blog officiel de Pyston, «suffisamment de pièces étaient en place pour que nous puissions créer une entreprise et travailler sur Pyston à plein temps.» Cependant, contrairement à l'incarnation originale de Pyston, la nouvelle version est pour le moment à source fermée, car ses nouveaux administrateurs déterminent leur modèle commercial. Le code source disponible sur le GitHub du projet semble provenir de son incarnation antérieure, et non de la version la plus récente.

Les binaires prédéfinis de Pyston sont disponibles pour Ubuntu 18.04 et Ubuntu 20.04 x86_64. L'équipe de développement est prête à créer d'autres éditions en fonction des commentaires des utilisateurs.