Pyston regresa de entre los muertos para acelerar Python

El desarrollo de Pyston, una variante del tiempo de ejecución de Python que utiliza la compilación justo a tiempo para acelerar la ejecución de los programas de Python, vuelve a estar en marcha después de un largo período de limbo. Continuando donde lo dejó Dropbox, un nuevo equipo de desarrollo ha lanzado Pyston 2.0.

Pyston proporciona lo que en última instancia pretende ser un reemplazo directo del tiempo de ejecución estándar de Python, CPython. Es compatible con Python 3.8, por lo que los programas que se ejecutan con esa versión de Python deberían ejecutarse tal cual en Pyston.

Pyston realiza la generación de código utilizando compilación justo a tiempo, o JITting, para producir muchas de sus aceleraciones. Los programas Pure-Python muestran las mayores mejoras, mientras que los programas que usan módulos C / C ++ para una ejecución más rápida, como PyTorch, muestran menos o ninguna.

Uno de los objetivos del proyecto era permanecer lo más cerca posible de la implementación original de CPython, ya que muchos proyectos de terceros hacen suposiciones sobre el comportamiento de CPython. Por lo tanto, Pyston 2.0 comenzó con la base de código CPython existente y agregó características de Pyston 1.0 que funcionaron bien, como los atributos de almacenamiento en caché y JITting. El JIT de Pyston ya no usa LLVM, sino DynASM para emitir ensamblado directamente.

JITting es la misma técnica utilizada por otro proyecto, PyPy, para ofrecer importantes aceleraciones a las aplicaciones de Python, en algunos casos, siete veces más de lo que CPython puede ofrecer. Sin embargo, los creadores de Pyston afirman que su enfoque tiene varias ventajas sobre PyPy, incluida una mejor compatibilidad con la API C de CPython y un menor consumo de memoria para cargas de trabajo comunes (por ejemplo, Flask y DjangoCMS).

Creado en Dropbox, Pyston dejó de desarrollarse en 2017 cuando Dropbox retiró el soporte. Ahora el proyecto continúa bajo el cuidado de algunos de sus desarrolladores originales, aunque de forma independiente.

"A principios de 2020", afirma el blog oficial de Pyston, "había suficientes piezas para que pudiéramos iniciar una empresa y trabajar en Pyston a tiempo completo". Sin embargo, a diferencia de la encarnación original de Pyston, la nueva versión es de código cerrado por el momento, ya que sus nuevos administradores determinan su modelo de negocio. El código fuente disponible en el GitHub del proyecto parece ser de su encarnación anterior, no de la versión más reciente.

Los binarios prediseñados de Pyston están disponibles para Ubuntu 18.04 y Ubuntu 20.04 x86_64. El equipo de desarrollo está dispuesto a crear otras ediciones basándose en los comentarios de los usuarios.