
L’un des buts du projet PyPy était donc d’obtenir une implémentation de Python plus rapide que CPython. Ce qui a été atteint depuis la version 1.2. PyPy utilise un compilateur JIT pour accélérer les applications Python. Il fournit un gain de vitesse impressionnant pour de nombreuses applications, mais dans certains cas, la performance attendue n’est pas au rendez-vous et peut-être parfois même pire que CPython. Il n’offre pas non plus le meilleur support pour les modules d’extension CPython. En effet, PyPy ne les supporte pas nativement. D’après Microsoft, « cette incompatibilité peut être critique dans des domaines tels que le calcul scientifique » par exemple, où ces modules sont largement utilisés dans les applications Python. Les utilisateurs de Python concernés par ce problème ne peuvent donc pas pleinement tirer parti de ce compilateur JIT et interpréteur pour Python.
Microsoft veut donc booster la vitesse de Python avec une approche un peu différente. La firme de Redmond a en effet rendu open source Pyjion, un JIT pour Python basé sur son projet CoreCLR. À travers ce nouveau projet open source, Microsoft veut ajouter une interface JIT à CPython de sorte que l’interpréteur soit plus rapide pour Python 3. Contrairement aux alternatives existantes, Pyjion vise donc un meilleur support pour Python 3. Il faut en effet noter que les autres projets d’accélération de Python se focalisent en général sur la branche 2.x.
« Un aspect clé de ce projet est de concevoir une API C pour CPython qui permettra d’ajouter une interface JIT à la VM CPython », explique Microsoft dans la description du projet sur GitHub. « Cela devrait permettre une excellente compatibilité avec les modules d’extension de C qui peut être importante pour certaines sous-communautés Python comme la communauté de calcul scientifique », a-t-elle ajouté. Il faut encore noter que l’ajout d’une interface JIT à CPython signifie qu’il ne s’agira pas de réimplémenter toute la sémantique de Python, mais cela permettra de « tirer parti d’une base de code bien testée sous forme de CPython ». Pyjion étant une preuve de concept JIT utilisant CoreCLR, Microsoft s’attend également à ce que cela conduise à une prolifération des runtimes JIT pour Python, qui vont permettre aux développeurs de choisir un JIT qui correspond le mieux à leur charge de travail.
Source : GitHub
Et vous ?

Voir aussi :

