Dernières nouvellesLe créateur de Python promet un langage plus rapide

Le créateur de Python promet un langage plus rapide

-

Guido Van Rossum, crateur de Python et son quipe ont annonc des amliorations progressives du langage et ont promis qu’il serait 2 5 fois plus rapide, tout en restant compatible avec le code existant.

A l’occasion du Python Language Summit qui s’est tenu à la PyCon 2021, Guido van Rossum, créateur du langage Python (depuis peu passé chez Microsoft), a dévoilé les projets à court et à long terme en vue de rendre Python deux à cinq fois plus rapide, voire davantage. Plusieurs solutions permettent déjà d’exécuter le langage Python plus rapidement. C’est le cas par exemple avec des moteurs d’exécution alternatifs comme PyPy ou des modules d’emballage écrits en C/C++. Mais aucune ou presque de ces méthodes n’accélère CPython lui-même, l’implémentation de référence de Python, écrite en C, qui est la version la plus largement utilisée du langage. Dans un premier temps, les créateurs prévoient d’apporter un minimum d’améliorations importantes des performances à Python 3.11, la version en cours de développement, actuellement au niveau alpha, dont la sortie est prévue pour 2022.

Dans la présentation faite lors du Language Summit, M. van Rossum a expliqué les fortes contraintes qu’impliquait l’accélération de Python. Notamment, les modifications apportées à CPython ne doivent pas casser l’ABI (application binary interface) du runtime, de façon à ce que les extensions Python écrites en C continuent de fonctionner telles quelles. Ces contraintes imposent de réaliser des modifications incrémentielles et gérables, conformément aux objectifs généraux de CPython, afin notamment de préserver la maintenabilité et une base de code simple et compréhensible. De plus, toutes les modifications doivent être open source : il ne peut y avoir d’extensions propriétaires, en « boîtes noires » dans CPython.

Des axes d’amélioration identifiés

Néanmoins, M. van Rossum et ses collègues ont identifié plusieurs parties de Python pouvant être modifiées librement. Le système de bytecode, le compilateur et l’interprète de Python ont tous été désignés comme cibles, car ils ont tendance à changer entre les versions. C’est le cas en particulier du bytecode qui n’offre aucune garantie de compatibilité entre les versions majeures, si bien qu’il pourrait être modifié de façon radicale si nécessaire. Les premières propositions visant Python 3.11 comprennent un « interpréteur de bytecode adaptatif et spécialisé », comme indiqué dans le PEP 659. Les instructions de bytecode faisant référence à un type de données spécifique dans une section particulière du code pourraient être remplacées en ligne par une version « spécialisée » de ce bytecode pour ce type de données particulier, ce qui engendrerait un gain de vitesse. Les développeurs estiment que l’amélioration potentielle des performances pourrait atteindre environ 50 % dans les situations les plus propices.

Parmi les autres options d’amélioration de la vitesse, les créateurs ont évoqué l’optimisation de la pile de trame, la modification dans les modalités d’appel des fonctions, un traitement plus efficace des exceptions, l’ajout d’optimisations qui accélèrent le temps de démarrage et la modification du format de fichier cache du bytecode .pyc. Mais, parmi tous ces changements aucun ne concerne l’une des améliorations les plus couramment suggérées pour Python : la génération de code machine au moment de l’exécution, ou compilation Just-in-Time (JIT). Dans son exposé, M. van Rossum a laissé entendre que ce type de projet serait envisagé après Python 3.11, parce qu’il était logique de rechercher d’abord les améliorations de performance possibles avec des changements plus ciblés. Tout le travail effectué dans le cadre de ce projet a été mis à disposition sur GitHub dans un référentiel faster-cypthon, comprenant à la fois du code (un fork de CPython 3.11) et les idées suivies.

Dernières Nouvelles

Réforme de la Métropole Aix Marseille Provence : 4 questions verso comprendre ce qui va changer

lès conseils de territoire disparaissent à déménager de ce vendredi 1er juillet dans le cadre de la réforme de la Métropole Aix Marseille Provence vsinonlue par Emmanuel Macron. Bsinonillabaisse, politique sinon vraie simplification ? Voici quatre questions psinonr comprendre lès enjeux de ce jeu de chaises musicalès.

lerche Républicains : la députée du Doubs Annie Genevard prend lerche rênes par intérim de la présidence du parti

cette députée de cette 5e circonscription du Doubs vient d'être désignée présidente par intérim des Républicains. Annie Genevard, 65 ans, est une figure respectée à droite, ancienne vice-présidente de l'Assemblée et numéro 2 de LR, dont se targue de éccettet expérience.

A Lire Absolument

Appareil Lenovo Area S.p.A. sistema di monitoraggio Dual Band

La caméra IP sans fil Lenovo Area S.p.A. sistema...

Andrea Formenti parle de l’importance des technologies de l’information

L'informatique a pénétré pratiquement tous les aspects des affaires...

Pour vous