Python n'est pas un langage de programmation connu pour sa rapidité, mais des implémentations non officielles améliorent fortement la situation. PyPy en fait partie. La différence principale est que PyPy utilise une compilation à la volée (JIT) au lieu d'être un simple interpréteur : plus un bout de code est utilisé, plus PyPy passe de temps à l'optimiser.

La version 7.2 de PyPy vient de sortir. Deux variantes sont disponibles : l'une compatible avec la syntaxe et la bibliothèque standard de Python 2.7.13, l'autre avec Python 3.6.9. La nouveauté de cette version 7.2 est que l'implémentation de Python 3.6.9 n'est plus considérée comme expérimentale. Il reste probablement l'un ou l'autre problème au niveau de la qualité des messages d'erreur générés par des exceptions et par du décodage de chaînes de caractères, mais les développeurs estiment ces problèmes mineurs. Ils planchent désormais sur l'implémentation de Python 3.7, la dernière version de Python actuelle.

PyPy débarque aussi sur les plateformes ARM 64 bits, en collaboration avec ARM et Crossbar.io. En général, l'amélioration de performance obtenue par rapport à l'implémentation de référence de Python est très comparable à celle sur x86_64 : une accélération qui peut monter jusque 44,9 x (par rapport à 58,9 x sur x86_64), mais aussi descendre jusque 0,6 x (c'est-à-dire que PyPy prend presque le double du temps que l'implémentation de référence de Python). Cette amélioration de performance reste préliminaire, vu que beaucoup d'optimisations restent possibles sur cette plateforme, notamment pour exploiter le grand nombre de registres disponibles sur ARM (alors que PyPy est prévu pour les plateformes x86, qui disposent de moins de registres).


Télécharger PyPy 7.2.

Source : PyPy v7.2 released, PyPy JIT for Aarch64.