Python : mettez le turbo avec PyPy 1.4

Deux fois plus rapide que CPython 2.6, PyPy 1.4 est maintenant suffisamment stable pour être utilisé sur un serveur de production. Une excellente nouvelle.

Python est un langage de programmation moderne et très populaire chez les développeurs. Largement utilisé dans le cadre d’outils d’administration, il se fait aussi rapidement une place dans le monde du web, avec des frameworks comme Django ou des serveurs d’applications tels Zope. Google l’a même adopté au sein de son App Engine.

Sur le web, la rapidité de traitement est un élément crucial. Dans ce contexte, PyPy est un projet prometteur, car il se focalise sur les performances. Il permettra d’exécuter du code Python adapté (basé sur un sous-ensemble du langage, RPython) plus rapidement qu’avec l’interpréteur officiel (CPython). À cet effet, il s’appuie sur un compilateur just-in-time. Il intègre également un bac à sable qui améliorera la sécurité du serveur. Bref, PyPy a tout pour satisfaire ceux qui se concentrent sur le secteur du web. Toutefois, les développeurs considéraient jusqu’alors que ce produit n’était pas encore utilisable en production.

La situation a cependant changé avec la sortie de PyPy 1.4 (disponible ici), que les responsables du projet trouvent assez abouti pour être utilisé en production (en environnement Linux x86 32 bits ou 64 bits). Il est vrai que cette version a beaucoup gagné en stabilité. Mieux, les performances sont aussi en progrès depuis la mouture 1.3, PyPy 1.4 se montrant aujourd’hui globalement deux fois plus rapide que l’interpréteur Python 2.6 officiel. Enfin, le compilateur just-in-time est dorénavant compatible avec le jeu d’instructions x86 64 bits (en plus du x86 32 bits). Bref, cette solution est plus que jamais à tester.

Notez que de nouvelles versions officielles de Python ont aussi été rendues publiques ce week end. Python 2.7.1 et Python 3.1.3 apportent diverses nouveautés, certaines permettant – là aussi – d’améliorer les performances de cette solution. 100 % de bonnes nouvelles pour les développeurs Python.