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

PyPy
Modifica el valor a Wikidata

Tipusintèrpret d'ordres, implementació de llenguatge de programació, programari de codi obert, just-in-time compiler (en) Tradueix i programari lliure i de codi obert Modifica el valor a Wikidata
Versió inicial2002 Modifica el valor a Wikidata
Versió estable
7.3.15 (15 gener 2024) Modifica el valor a Wikidata
Llicènciallicència MIT Modifica el valor a Wikidata
Part deSoftware Freedom Conservancy Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiumultiplataforma Modifica el valor a Wikidata
Escrit enPython i RPython Modifica el valor a Wikidata
Més informació
Lloc webpypy.org (anglès) Modifica el valor a Wikidata
Seguiment d'errorsSeguiment d'errors Modifica el valor a Wikidata
Free Software DirectoryPyPy Modifica el valor a Wikidata

Detalls i motivació modifica

PyPy va ser concebut com una implementació de Python escrita en Python, cosa que permet als desenvolupadors de 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, i això 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 entorn de treball 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 marc de treball per desenvolupar noves característiques avançades sense haver de codificar detalls a baix nivell.

Traducció modifica

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

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

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

Enllaços externs modifica