Comment le projet Pyston veut rendre le langage Python plus rapide

Technologie : L’un des défauts majeurs de Python reste sa lenteur. Pour y remédier, un projet open source vient d’être lancé, avec l’ambition d’accélérer le langage de programmation de 30 %.

Python a beau s’être imposé comme un langage ultra populaire pour les projets de science des données et de machine learning sur du matériel de grande puissance, son principal talon d’Achille continue à être sa vitesse limitée. Pour y remédier, la société Anaconda, qui fournit une distribution de premier plan de Python pour la science des données, mise sur son projet Pyston – une nouvelle implémentation de Python qui abandonne les fonctions de débogage au profit de la vitesse.

Pyston, créé par Kevin Modzelewski, a été mis en libre accès en mai avec la promesse d’une accélération de 30 % du code Python. Kevin Modzelewski était ingénieur chez Dropbox – un grand utilisateur de Python – et a embauché le créateur du langage, Guido van Rossum, durant cinq ans, à partir de 2013, pour améliorer son code. Anaconda a maintenant embauché Kevin Modzelewski et son collègue, le développeur Marius Wachtler. Les deux spécialistes ont été chargés de construire la communauté d’utilisateurs, de contributeurs et de mainteneurs du projet pour assurer sa durabilité à long terme.

« Le soutien d’Anaconda nous permettra de mettre Pyston entre les mains d’un plus grand nombre d’utilisateurs, plus rapidement que jamais », se réjouit Kevin Modzelewski dans un communiqué. Anaconda revendique un parc de plus de 25 millions d’utilisateurs.

Une vitesse accélérée de 20 à 50 %

Pyston exécute les programmes en moyenne 20 à 50 % plus vite que le langage Python standard, selon Anaconda. L’implémentation Python a été développée chez Dropbox entre 2014 et 2017. Elle a été lancée en tant que nouveau projet en 2020 sous le nom de Pyston v2. Pyston, qui est dérivé du CPython officiel de la Python Software Foundation, restera un projet open source. Avec Anaconda, le projet se concentrera sur l’amélioration de la compatibilité avec la légion de paquets de Python qui ont contribué à le rendre dominant dans la science des données et l’apprentissage automatique, ainsi que sur l’apport de Pyston à davantage de matériel.

« La nouvelle série Pyston 2.x est une réécriture complète de la base de code à partir de zéro, en partant d’un fork de CPython 3.8 », explique Anaconda dans un billet de blog détaillant son projet de devenir un accélérateur polyvalent de toutes les applications Python. Si Python est un succès pour les applications de machine learning fonctionnant sur du matériel puissant, il n’est pas très présent dans les applications web et mobiles, dominées par JavaScript.

Pour le cofondateur d’Anaconda, Peter Wang, il est « incroyablement maladroit d’utiliser Python pour construire et distribuer des applications ayant une véritable interface utilisateur graphique », comme l’a affirmé ce dernier, interrogé par ZDNet. « Sur les ordinateurs de bureau, Python n’est jamais le langage de première classe du système d’exploitation, et il doit recourir à des frameworks tiers comme Qt ou wxPython », précise-t-il pour justifier le lancement de son projet, Pyston.

Un langage en plein boom

Anaconda a déjà été impliqué dans des projets d’optimisation, d’extensibilité et de performance de Python.

« L’un des plus anciens projets open source d’Anaconda est le compilateur Numba, un compilateur JIT basé sur LLVM pour les fonctions numériques Python fonctionnant sur le CPU ou le GPU. Par conséquent, nous réfléchissons depuis longtemps aux compilateurs Python, et nous voyons le potentiel de Pyston pour apporter rapidement un Python plus rapide à un public grand public », indique encore ce dernier. Le dirigeant d’Anaconda estime également que les améliorations de Pyston peuvent être transférées vers CPython et s’inscrire dans le cadre des projets de Microsoft visant à accélérer considérablement Python.

Pour rappel, Python pourrait bientôt devenir le langage de programmation le plus populaire, se disputant la première place avec JavaScript, Java et C, selon le classement des langages consulté. Mais si l’adoption de Python est en plein essor, les domaines qui sont à l’origine de la popularité du langage de programmation – à savoir la data science et le machine learning – n’en sont qu’à leurs débuts.

Source : ZDNet.com

Catégories