PyPy
PyPy es un intérprete y compilador JIT para el lenguaje Python, que se enfoca en la velocidad y eficiencia, y es 100% compatible con el intérprete original CPython.
PyPy | ||
---|---|---|
Parte de Software Freedom Conservancy | ||
Información general | ||
Tipo de programa | intérprete de comandos | |
Desarrollador | Proyecto PyPy | |
Lanzamiento inicial | 2002 | |
Licencia | Licencia MIT | |
Información técnica | ||
Programado en |
| |
Versiones | ||
Última versión estable | 7.3.1728 de agosto de 2024 | |
Enlaces | ||
Detalles y motivación
editarPyPy fue concebido como una implementación de Python escrita en Python, lo que permite a los desarrolladores Python hackear el lenguaje. Esto hace que sea fácil identificar áreas mejorables. El hecho de que PyPy esté implementado en un lenguaje de alto nivel implica que es más flexible y fácil para experimentar que CPython, lo que permite a los desarrolladores explorar múltiples implementaciones de características específicas y elegir la mejor.
PyPy tiene por objeto proporcionar una traducción común y un framework conceptual para la producción de implementaciones de lenguajes dinámicos, haciendo hincapié en una separación limpia entre la especificación del lenguaje y los aspectos de implementación. Intenta además proporcionar una implementación compatible, flexible y rápida del Lenguaje Python utilizando el mencionado framework para desarrollar nuevas características avanzadas sin tener que codificar detalles a bajo nivel.[1]
Traducción
editarPyPy consiste en un intérprete estándar y un traductor. El intérprete está escrito en un subconjunto limitado del lenguaje Python llamado RPython[1] (Python restringido). A diferencia de Python estándar, RPython es estáticamente tipado que permite una compilación eficiente.
El traductor es una cadena de herramientas que analiza el código RPython y lo traduce a un lenguaje de más bajo nivel, tal como C, LLVM o MSIL. También permite un recolector de basura enchufable y opcionalmente habilitar Stackless. Finalmente incluye un generador JIT que construye un compilador JIT dentro del intérprete, brindando algunas anotaciones en el código fuente.
Estado del Proyecto
editarPyPy es una continuación del proyecto Psyco, desarrollado por Armin Rigo. El objetivo de PyPy es tener un compilador en tiempo de ejecución especializado con una mayor capacidad multiplataforma que Psyco.
Historia
editarPyPy comenzó como una investigación orientada al desarrollo de proyectos. Sin embargo, al llegar a la versión 1.0 a mediados de 2007, sus objetivos cambiaron para producir versiones estables orientadas a la producción con una mayor compatibilidad con CPython. El 28 de abril de 2008[2] se publicó la versión 1.1.
A finales de 2008, PyPy estuvo en condiciones de ejecutar algunas bibliotecas populares como Django,[3] Pylons,[4] Pyglet,[5] y Nevow.[6]
En marzo de 2010 se lanzó PyPy 1.2, enfocándose en la velocidad, incluyendo un compilador en tiempo de ejecución que funcionaba, pero cuyo uso se desaconsejaba para ambientes de producción.
En diciembre de 2010 se liberó PyPy 1.4, la primera versión con calidad para código en producción. PyPy 1.4 es compatible con Python 2.5
El 30 de abril de 2011 se lanzó PyPy 1.5, compatible con Python 2.7.1.[7]
El 18 de agosto se lanzó PyPy 1.6 "Kickass Panda", que mantiene compatiblidad on Python 2.7.1 pero agrega soporte (beta) para cargar extensiones desarrolladas en C para CPython.[8]
Referencias
editar- ↑ «Paper de RPython». Archivado desde el original el 6 de julio de 2017. Consultado el 11 de julio de 2011.
- ↑ «PyPy Status Blog: 1.1 final released».
- ↑ «PyPy runs unmodified django 1.0 beta».
- ↑ «Running pylons on top of PyPy».
- ↑ «Running Pyglet on top of PyPy».
- ↑ «Running Nevow on top of PyPy».
- ↑ «PyPy 1.5 Released: Catching Up».
- ↑ «PyPy 1.6 - kickass panda».