From Wikipedia, the free encyclopedia
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.
Tipus | intèrpret d'ordres, implementació de llenguatge de programació, programari de codi obert, just-in-time compiler (en) i programari lliure i de codi obert |
---|---|
Versió inicial | 2002 |
Versió estable | |
Llicència | llicència MIT |
Part de | Software Freedom Conservancy |
Característiques tècniques | |
Sistema operatiu | multiplataforma |
Escrit en | Python i RPython |
Més informació | |
Lloc web | pypy.org (anglès) |
Seguiment d'errors | Seguiment d'errors |
Free Software Directory | PyPy |
| |
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.
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.
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.
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]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.