PyPy est une mise en œuvre du langage Python écrite elle-même en Python, avec une architecture flexible. Un des buts du projet est d'obtenir une version de Python plus rapide que l'implémentation en C actuelle (CPython), ce but est atteint depuis 2000 avec la version 1.2. PyPy est principalement un projet de recherche et développement et ne se focalise pas en lui-même sur l'obtention d'une implémentation de Python prête pour la production, pour le moment. Un des développeurs principaux de PyPy est Armin Rigo, qui a développé , un compilateur à la volée 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. PyPy est constitué de deux composants principaux : un interpréteur Python, écrit lui-même en un sous-ensemble restreint de Python une chaîne d'outils qui analyse ce sous-ensemble de Python (RPython), le traduit en un langage bas niveau tel que C et le compile. Ces deux composants peuvent être utilisés indépendamment : l'interpréteur Python peut lui-même s'exécuter au sein d'un autre interpréteur Python existant, et la chaîne de traduction peut s'appliquer à tout programme écrit en RPython. L'interpréteur Python de PyPy, tel que proposé par la version 2.2, est semblable à une version Python 2.7.3. PyPy s'approche le plus possible de l'interpréteur standard, avec quelques différences : Par défaut, PyPy utilise un ramasse-miettes automatique, différent du comptage de références ; il est plus performant, mais certaines ressources peuvent être libérées plus tard que d'habitude. Quelques modules n'ont pas été portés, en particulier ceux dont le code d'origine est le C. L'interface de programmation en C n'est pas encore considérée comme assez stable par ses développeurs.

À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Cours associés (5)
CS-119(h): Information, Computation, Communication
L'objectif de ce cours est d'initier les étudiants à la pensée algorithmique, de les familiariser avec les fondamentaux de l'informatique et des communications et de développer une première compétence
ENG-270: Computational methods and tools
This course prepares students to use modern computational methods and tools for solving problems in engineering and science.
CS-119(k): Information, Computation, Communication
D'une part, le cours aborde: (1) la notion d'algorithme et de représentation de l'information, (2) l'échantillonnage d'un signal et la compression de données et (3) des aspects liés aux systèmes: ordi
Afficher plus
Concepts associés (3)
Foreign function interface
A foreign function interface (FFI) is a mechanism by which a program written in one programming language can call routines or make use of services written or compiled in another one. An FFI is often used in contexts where calls are made into binary dynamic-link library. The term comes from the specification for Common Lisp, which explicitly refers to the programming language feature enabling for inter-language calls as such; the term is also often used officially by the Haskell, Rust, Python, and LuaJIT (Lua) interpreter and compiler documentations.
Bytecode Java
Le bytecode Java est un bytecode destiné à regrouper des instructions exécutables par une machine virtuelle Java. Par extension, il désigne un flux d'octets binaire au format d'une classe Java. Ce flux est habituellement le résultat de la compilation d'un code source, ce code source n'étant pas obligatoirement écrit en langage Java. Ce bytecode peut être exécuté sous de nombreux systèmes d'exploitation par une machine virtuelle Java.
Bootstrap (compilateur)
Le bootstrapping décrit en informatique les techniques fondées sur l'écriture d'un compilateur (ou d'un assembleur) dans le langage de programmation cible qu'il doit compiler. De ce fait, il s'agit d'une technique de développement (sur un même système) ou de portage (d'un système à l'autre), qui part d'un premier compilateur minimal écrit de façon classique, amorçant une suite de versions, chacune préférable à la précédente. un dialecte d'Algol 58, a été le premier langage à fournir un tel bootstrap.

Graph Chatbot

Chattez avec Graph Search

Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.

AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.