Rob*_*mba 14 python pypy gevent greenlets python-stackless
新版PyPy附带集成的Stackless.据我所知,捆绑的Stackless与2001年的Stackless起源不同.所以主要是带调度程序的绿色线程框架.
Greenlet是Stackless的旋转,它提供Stackless绿色线程功能作为扩展模块.
有没有使用"原生"的任何利益无堆栈从PyPy比PyPy + greenlet +一些调度(如:GEVENT)?或问题是我不能使用PyPy的那些类型的扩展?更具体一点:我知道PyPy有自己的greenlet实现(基于continulet).但我很好奇在PyPy中将外部greenlet与gevent和内部greenlet连接起来的可能性.
PyPy是否附带了一个用于Stackless的异步IO库而不是标准的?
我知道stackless本身和python的其他异步轻线程扩展(eventlet,gevent,twisted ......).因此,我不是在寻找它们之间的差异,而是通过无堆叠构建而形成的pypy的优势.
ami*_*che 14
PyPy是否附带了一个用于Stackless的异步IO库而不是标准的?
从PyPy 2.6.1和PyPy3 2.4.0开始,您可以使用asyncio(通过pypi包)来替换stackless 的异步功能.
使用PyPy中的"原生"Stackless比使用PyPy + greenlet +一些调度程序有什么好处
在更丰富的Stackless API之外(例如,微线程的腌制),它可以是速度的,因为调度程序是用C编写的运行时的一部分.基准应该使这个显而易见.
有关无堆栈的更多信息,请参阅本文什么是Stackless?