what traducidos son qué programacion los lenguajes lenguaje interprete interpretados interpretado entre diferencia compilados compilador compilado python interpreter pypy

traducidos - ¿Qué tiene que ofrecer PyPy sobre CPython, Jython y IronPython?



qué son los lenguajes compilados y los lenguajes interpretados (5)

compatibilidad multiplataforma

Por lo que he visto y leído en los blogs, PyPy es un proyecto muy ambicioso. ¿Cuáles son algunas de las ventajas que traerá a la mesa sobre sus hermanos (CPython, Jython y IronPython)? ¿Es la velocidad, la compatibilidad multiplataforma (incluidas las plataformas móviles), la capacidad de usar extensiones C sin la GIL o es más bien un ejercicio técnico sobre lo que se puede hacer?


En caso de que Python obtenga un JIT real, creo que va a ser tan rápido como cualquier otra implementación.

La ventaja es que es mucho más fácil implementar nuevas funciones. Uno puede ver esto hoy observando la biblioteca. A menudo, los módulos se escriben primero en Python y luego se traducen a C.


Este es un link a la presentación que uno de los autores de PyPy dio en PyCon 2009. Es muy informativo.


La característica más importante es, por supuesto, el compilador JIT. En CPython, los archivos se compilan a bytecode ( .pyc ) u bytecode optimizado ( .pyo ) y luego se interpretan. Con PyPy serán compilados a código nativo. PyPy también incluye parches de Python sin pila , incluidas sus features impresionantes (serialización tasklet, hilos de luz, etc.)


PyPy es en realidad dos proyectos:

  • Una cadena de herramientas de compilación de intérpretes que le permite escribir intérpretes en RPython (un subconjunto estático de Python) y tener intérpretes multiplataforma compilados de forma independiente, para la JVM, para .NET (etc.)
  • Una implementación de Python en RPython

Estos dos proyectos permiten muchas cosas.

  • Mantener Python en Python es mucho más fácil que mantenerlo en C
  • Desde una única base de código puede generar intérpretes de Python que se ejecutan en la JVM, .NET e independiente, en lugar de tener múltiples implementaciones ligeramente incompatibles
  • Parte de la cadena de herramientas del compilador incluye un generador JIT experimental (ahora en su quinta encarnación y comienza a funcionar realmente bien): el objetivo es que un PyPy JIT funcione mucho más rápido que CPython
  • Es mucho más fácil experimentar con funciones de lenguaje fundamentales, como eliminar GIL, mejorar la recolección de basura, integrar sin apilar, etc.

Así que hay muchas razones para que PyPy sea emocionante, y finalmente está empezando a cumplir todas sus promesas.