PyPy

De Viquipèdia
Dreceres ràpides: navegació, cerca
PyPy
Logo de PyPy
Desenvolupador(s) Desenvolupadors i comunitat PyPy
Versió estable

2.1

/ 30 Juliol 2013; fa 13 mesos (2013-07-30)
Escrit en Python
Plataforma Multiplataforma
Tipus Intèrpret de Python
Llicència Llicència MIT
Lloc web pypy.org

PyPy és un intèrpret i compilador JIT per al llenguatge Python, que s'enfoca en la velocitat i eficiència, i és 100% compatible amb l'intèrpret original CPython.

Detalls i motivació[modifica | modifica el codi]

PyPy va ser concebut com una implementació de Python escrita en Python, el que permet als desenvolupadors Python hackejar el llenguatge. Això fa que sigui fàcil identificar àrees millorables. El fet que PyPy estigui implementat en un llenguatge d'alt nivell implica que és més flexible i fàcil per experimentar que CPython, el que permet als desenvolupadors explorar múltiples implementacions de característiques específiques i triar la millor.

PyPy té per objecte proporcionar una traducció comuna i un framework conceptual per a la producció d'implementacions de llenguatges dinàmics, posant l'accent en una separació neta entre l'especificació del llenguatge i els aspectes d'implementació. Intenta a més proporcionar una implementació compatible, flexible i ràpida del Llenguatge Python utilitzant l'esmentat framework per desenvolupar noves característiques avançades sense haver de codificar detalls a baix nivell.

Traducció[modifica | modifica el codi]

PyPy consisteix en un intèrpret estàndard i un traductor. L'intèrpret està escrit en un subconjunt limitat del llenguatge Python anomenat RPython[1] (Python Restringit). A diferència de Python estàndard, RPython és estàticament tipat que permet una compilació eficient.

El traductor és una cadena d'eines que analitza el codi RPython i el tradueix a un llenguatge de més baix nivell, tal com C, LLVM o MSIL. També permet un recol·lector d'escombraries endollable i opcionalment habilitar Stackless. Finalment inclou un generador JIT que construeix un compilador JIT dins de l'intèrpret, brindant algunes anotacions en el codi font.

Estat del Projecte[modifica | modifica el codi]

PyPy és una continuació del projecte Psyco, desenvolupat per Armin Rigo. L'objectiu de PyPy és tenir un compilador en temps d'execució especialitzat amb una major capacitat multiplataforma que Psyco.

Història[modifica | modifica el codi]

PyPy començar com una investigació orientada al desenvolupament de projectes. No obstant això, en arribar a la versió 1.0 a mitjan 2007, els seus objectius van canviar per produir versions estables orientades a la producció amb una major compatibilitat amb CPython. El 28 abril 2008[2] es va publicar la versió 1.1.

A finals de 2008, PyPy va estar en condicions d'executar algunes biblioteques populars com Django,[3] Pylons,[4] Pyglet,[5] i Nevow.[6]

El març de 2010 es va llançar PyPy 1.2, enfocant-se en la velocitat, incloent un compilador en temps d'execució que funcionava, però l'ús del qual desaconsellava per ambients de producció.

El desembre de 2010 es va alliberar PyPy 1.4, la primera versió amb qualitat per codi en producció. PyPy 1.4 és compatible amb Python 02/05

El 30 d'abril de 2011 es va llançar PyPy 1.5, compatible amb Python 2.7.1.[7]

El 18 d'agost es va llançar PyPy 1.6 "Kickass Panda", que manté compatibilitat on Python 2.7.1 però afegeix suport (beta) per carregar extensions desenvolupades en C per CPython.[8]

Referències[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]