Pipy
| pipy | ||
|---|---|---|
| Fait partie de la Software Freedom Conservancy | ||
|
| ||
| Informations générales | ||
| type de programme | interpréteur de commandes | |
| développeur | projet pypy | |
| Première version | 2002 | |
| Licence | Licence MIT | |
| Information technique | ||
| Prévu dans |
| |
| Versions | ||
| Dernière version stable | 7.3.930 mars 2022 | |
| Liens | ||
PyPy est un compilateur et interpréteur JIT pour le langage Python , qui met l'accent sur la vitesse et l'efficacité, et est 100 % compatible avec l' interpréteur CPython d'origine .
Détails et motivation
PyPy a été conçu comme une implémentation Python écrite en Python, permettant aux développeurs Python de pirater le langage. Cela permet d'identifier facilement les domaines à améliorer. Le fait que PyPy soit implémenté dans un langage de haut niveau signifie qu'il est plus flexible et plus facile à expérimenter que CPython , permettant aux développeurs d'explorer plusieurs implémentations de fonctionnalités spécifiques et de choisir la meilleure.
PyPy vise à fournir une traduction commune et un cadre conceptuel pour produire des implémentations de langage dynamiques, en mettant l'accent sur une séparation nette entre la spécification du langage et les aspects d'implémentation. Il essaie également de fournir une implémentation compatible, flexible et rapide du langage Python en utilisant le cadre susmentionné pour développer de nouvelles fonctionnalités avancées sans avoir à coder les détails à un bas niveau.[1]
Traduction
PyPy se compose d'un interpréteur standard et d'un traducteur. L'interpréteur est écrit dans un sous-ensemble limité du langage Python appelé RPython [ 1 ] ( Python restreint ). Contrairement à Python standard, RPython est typé statiquement , ce qui permet une compilation efficace.
Le traducteur est une chaîne d' outils qui analyse le code RPython et le traduit dans un langage de niveau inférieur, tel que C , LLVM ou MSIL . Il permet également un ramasse-miettes enfichable et éventuellement l'activation de Stackless . Enfin, il inclut un générateur JIT qui construit un compilateur JIT à l'intérieur de l'interpréteur, fournissant des annotations dans le code source.
Statut du projet
PyPy est une continuation du projet Psyco , développé par Armin Rigo . L'objectif de PyPy est d'avoir un compilateur d'exécution spécialisé avec une plus grande capacité multiplateforme que Psyco.
Historique
PyPy a commencé comme un projet de développement axé sur la recherche. Cependant, après avoir atteint la version 1.0 à la mi-2007, leurs objectifs ont changé pour produire des versions stables et orientées vers la production avec une prise en charge accrue de CPython . Le 28 avril 2008 [ 2 ] la version 1.1 est sortie.
Fin 2008, PyPy était capable d'exécuter certaines bibliothèques populaires comme Django , [ 3 ] Pylons , [ 4 ] Pyglet , [ 5 ] et Nevow . [ 6 ]
En mars 2010, PyPy 1.2 a été publié, avec un accent sur la vitesse, y compris un compilateur d'exécution qui fonctionnait, mais il était déconseillé de l'utiliser pour les environnements de production.
En décembre 2010, PyPy 1.4 est sorti, la première version de qualité du code de production. PyPy 1.4 est compatible avec Python 2.5
Le 30 avril 2011, PyPy 1.5 est sorti, compatible avec Python 2.7.1. [ 7 ]
Le 18 août, PyPy 1.6 "Kickass Panda" est sorti, qui maintient la compatibilité avec Python 2.7.1 mais ajoute la prise en charge ( bêta ) du chargement des extensions C pour CPython. [ 8 ]