2012-01-22 16 views
14

La nueva versión de PyPy se envía con Stackless integrado. Por lo que sé, el paquete Stackless no es lo mismo que el origen Stackless de 2001 con continuaciones. Entonces, principalmente es el marco de hilos verdes con despachador.Stackless en PyPy y PyPy + greenlet - diferencias

Greenlet es un spin-of Stackless que proporciona la funcionalidad de hilos verdes apilables como un módulo de extensión.

¿Hay algún beneficio del uso de "nativo" Stackless de PyPy de PyPy + + greenlet algunos despachador (por ejemplo: GEvent)? ¿O el problema es que no puedo usar esos tipos de extensiones con PyPy? Para ser más específico: sé que PyPy tiene una implementación propia de greenlet (basado en continuo). Pero tengo curiosidad de la posibilidad de vincular un greenlet externo con gevent e interno en PyPy.

¿Se suministra PyPy con una biblioteca IO asíncrona para Stackless que se utilizará en lugar de la estándar?

Conozco el stackless y otras extensiones asincrónicas de hilos ligeros de python (eventlet, gevent, twisted ...). Así que no estoy mirando las diferencias entre ellos, más bien ventajas que vienen de pypy con build in stackless.

Respuesta

13

¿Se suministra PyPy con una biblioteca IO asíncrona para Stackless en lugar de la estándar?

A partir de PyPy 2.6.1 y 2.4.0 PyPy3 puede utilizar asyncio (a través del paquete de PyPI) para reemplazar las características asíncronos de sin pérdida de velocidad.

¿Hay algún beneficio del uso de "nativo" Stackless de PyPy que PyPy + greenlet + algunos despachador

Fuera de la API más rico Stackless (por ejemplo, decapado de micro-hilos) que puede ser la velocidad ya que el planificador es parte del tiempo de ejecución escrito en C. Benchmarks debería hacer esto obvio o no. Para obtener más información sobre stackless, consulta este artículo What is Stackless?

Cuestiones relacionadas