Saisir un mot clé:
 
 

PyPy

Ce site est un miroir du site http://fr.wikipedia.org/wiki/Accueil

var wgArticlePath = "/encyclopedie_$1";

PyPy

Un article de Wikipédia, l'encyclopédie libre.

PyPy est une mise en oeuvre du langage Python écrite elle-même en Python, flexible et facile pour expérimenter.

Sommaire

[] PyPy

En permettant aux développeurs de Python de jouer avec l'implémentation de Python en Python lui-même (plutôt qu'en C), PyPy facilite l'identification des zones où l'implémentation de Python peut être améliorée. Il permet également aux développeurs d'expérimenter avec de multiples implémentations de fonctions spécifiques. Un des buts du projet est de générer une implémentation Python optimisée à partir de PyPy qui tournera plus rapidement que l'implémentation en C actuelle (CPython),[1] bien que ce but ne soit pas encore atteint.

PyPy est principalement un projet de recherche et développement et ne se focalise pas en lui-même sur obtenir une implémentation de Python prête pour la production, pour le moment.

PyPy est constitué de deux composants principaux :

  • l'interpréteur standard, qui est une implémentation de l'interpréteur Python en un sous-ensemble restreint de Python
  • une chaine d'outils qui analyse ce sous-ensemble de Python (RPython) et le traduit en un langage bas niveau tel que C

Un des développeurs principaux de PyPy est Armin Rigo, qui a développé Psyco, un compileur just-in-time spécialisé pour Python qui accélère le code Python de 4 à 100 fois presque sans intervention de l'utilisateur.

PyPy s'inspire du langage Oz pour l'utilisation d'espace d'objets. Cela permet de combiner les aspects orientation objet et mutabilité, concurrence et distribution, etc. dans le même langage.

Pour la gestion de la mémoire (ramasse-miettes), on a le choix entre 3 sous-systèmes différents :

  • boehm : ramasse miettes « Boehm-Demers-Weiser[2] »
  • ref : compteur de reférence implémenté en RPython
  • framework / stacklessgc : implémentation en RPython d'un ramasse miettes avec collecteur « mark and sweep »

La traduction de l'interpréteur PyPy écrit en RPython peut se faire dans différents langages :

[] Paradigmes de programmation

Un autre objectif de PyPy est d'étendre Python à d'autres paradigmes de programmation, en particulier :

[] RPython

Le langage RPython est un sous-ensemble du langage Python qui a comme principales contraintes :

  • Une variable ne peut contenir qu'un seul type de valeur (on ne pas stocker un entier puis une chaîne de caractères dans la même variable) ;
  • Les variables globales d'un module sont considérées comme constantes ;
  • La définition dynamique de classe ou de fonction n'est pas supportée ;
  • Les générateurs ne sont pas supportés ;
  • Les méthodes et les autres attributs d'une classe ne changent pas durant l'exécution ;
  • La clé d'un dictionnaire ne peut être que d'un seul type (hashable).

[] Références

  1. ? Jacob Hallén, « PyPy - an implementation of Python in Python », March 2004
  2. ? Ramasse miettes Boehm-Demers-Weiser

[] Voir aussi

[] Articles connexes

[] Liens externes

 
Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/PyPy
Home

Données
A la une
Articles
Formatons en lignes
Téléchargement
Licence GNU
Encyclopedie
Portail logiciels libres

Partenaires

beyrouthsurseine.com
Sonnerie & Logos
Photos-Video
Ringtones-Sonnerie
Actualite.org
Terrain tennis

  
Décembre 2008
L
M
M
J
V
S
D
1234567
891011121314
15161718192021
22232425 262728
293031
     
Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés, le reste © technicmania.com