Liens connexes

Dépêche modérée par

Dépêche éditée par

: Actualités Python : PyPy 1.2, distutils2, vidéos de Pycon 2010, Python 2.7

Posté par Victor STINNER (Jabber id, page perso, ). Modéré le 15 mars 2010.
21
Quelques brèves au sujet du langage Python :
  • PyPy 1.2 inclut enfin un compilateur à la volée
  • Inclusion d'Unladen Swallow dans CPython repoussée
  • distutils, setuptools, distribute et distutils2
  • Python 2.6.5RC2, 3.1.2RC1 et 2.7alpha3
  • Vidéos des conférences Pycon US 2010
  • Revues de presse hebdomadaire de l'AFPy
  • AFPyros sur Paris
Détails en seconde partie de la dépêche.

> Lire la suite (6 commentaires, moyenne: 4,8).   [dépêche : 6446 caractères]

Interprètes alternatifs : PyPy 1.2, inclusion d'Unladen Swallow et benchmarks

Le projet PyPy est un interprète Python écrit en Python. La version 1.2 inclut pour la première fois un compilateur à la volée (JIT), uniquement compatible x86 (IA-32) pour le moment (fonctionne sur x86-64 avec le mode de compatibilité 32 bits). Cette version met donc l'accent sur la vitesse, tout en conservant une excellente compatibilité avec l'implémentation Python de référence (CPython, écrite en C). PyPy sans JIT consomme moins de mémoire que CPython, par contre le JIT consomme beaucoup de mémoire. La prochaine version devrait résoudre ce problème. Lire Introducing the PyPy 1.2 release pour en savoir plus.

Unladen Swallow est un autre projet, soutenu par Google, visant à accélérer Python, mais ayant une approche différente. Unladen Swallow est un fork de Python 2.6 qui rajoute un compilateur à la volée basé sur LLVM. Son inclusion dans CPython a été proposée. Mais Unladen Swallow modifie beaucoup de code et surtout rajoute des dépendances sur le langage C++ et le projet LLVM. Aucun compromis n'a été trouvé pour le moment, et une PEP est en cours d'écriture : PEP 3146: Merging Unladen Swallow into CPython. Une solution serait de proposer le compilateur à la volée comme extension (optionnelle).

Pour comparer les performances entre tous les interprètes Python, un projet benchmarks a été monté. PyPy a d'ailleurs monté le site speed.pypy.org pour afficher l'évolution des performances de son interprète (avec et sans JIT) par rapport à CPython 2.6.

Changements du côté de distutils, setuptools, distribute et distutils2

Quiconque ayant essayé d'installer un projet Python a été confronté à distutils ou setuptools (ou au plus récent distribute, fork de setuptools). Ces outils sont surtout réputés pour leur complexité ou leurs problèmes (ex: on ne peut pas désinstaller un programme installé par distutils !). Alors que setuptools a été développé en dehors de Python sans réelle volonté d'améliorer Python (d'améliorer distutils sur lequel il repose), les efforts actuels visent à se recentrer sur Python et tenter d'uniformiser tous les systèmes d'installation. Les changements passent par « Propositions d'amélioration de Python » (PEP en anglais) :

Un sprint a été organisé lors du Pycon US 2010 sur distutils. Tarek Ziadé (l'initiateur, français, du projet distribute et le nouveau mainteneur de distutils, bref celui qui fait avancer le schmilblick) a écrit un long article pour détailler les développements et faire le point sur la situation actuelle : The fate of Distutils – Pycon Summit + Packaging Sprint detailed report. Le module distutils ne va pas être modifié pour conserver la compatibilité. Par contre, le nouveau module distutils2 va concentrer toutes les avancées dans le domaine. Enfin, un guide a été écrit pour expliquer simplement comment packager un projet Python : The Hitchhiker’s Guide to Packaging.

Nouvelles versions Python : Python 2.7 se prépare

Pas de grosse version majeure à court terme, uniquement des corrections de bugs : sortie de Python 2.6.5RC2 (What’s New in Python 2.6, Changelog) et 3.1.2RC1 (What’s New In Python 3.1). Le gros chantier est la version 2.7 qui sera la dernière de la série Python 2.x. La version 2.7 finale est prévue pour fin juin 2010. En attendant, une version 2.7alpha3 permet déjà de tester la longue liste de nouveautés. La version 2.7 doit servir de passerelle de Python2 vers Python3 : de nombreuses fonctionnalités ont été portés de Python3 vers Python2 (ex: les dictionnaires ordonnés, odict). La version 2.7 risque d'être maintenue beaucoup plus longtemps que les autres versions 2.x, le temps de la migration vers Python3.

Vidéos des conférences Pycon US 2010

Pycon US 2010 a eu lieu à Atlanta du 17 au 25 février : 2 jours de tutoriels, 3 jours de conférences, pour finir avec 4 jours de sprint. Les vidéos des conférences sont visionables sur blip.tv.

Association Francophone Python : Python WAW et AFPyros

Pour se tenir au courant de l'actualité Python, l'Association Francophone Python (AFPy) propose une revue de presse Python semaine par semaine : Python WAW.

L'AFPy organise régulièrement des « AFPyros » sur Paris, soirée conviviale pour parler de Python dans un bar. Ils sont souvent organisés à l'arrache : mieux vaut suivre la liste de diffusion des membres ou le salon IRC #afpy (sur le serveur Freenode) pour ne pas les rater !

Enfin, pour les utilisateurs d'IRC : rendez-vous sur le salon #python-fr du serveur Freenode pour troller Python (lenteur, consommation mémoire, indentation et autres drolleries) ou y poser vos questions.

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Vitesse

Posté par patrick_g (page perso, ) le 16/03/2010 à 06:46. (lien). Évalué à 6.

Je suis impressionné par les performances de PyPy 1.2 telles qu'elles apparaissent sur la page de bench : http://speed.pypy.org/overview/
J'ai l'impression que le jit a complètement changé la donne à ce niveau.
Est-ce qu'il est envisageable que PyPy devienne l'implémentation de référence ?

Revenir en haut de page