新版本的PyPy提供集成的无堆栈。据我所知,捆绑的Stackless与2001年开始的源文件Stackless是不一样的。因此,主要是带有dispatcher的绿色线程框架。
Greenlet是一个派生的Stackless,它提供了无堆栈的绿色线程作为扩展模块的功能。
与使用E 110 PyPy +greenletE 211E 112+某些分派器(例如:E 213 gevent)? )相比,使用 PyPy 的“本机”无堆栈有什么好处吗?更具体地说:我知道PyPy有自己的greenlet实现(基于延续)。但我很好奇,在PyPy中,是否有可能将外部的绿线与gevent和内部的gevent连接起来。
是否附带了异步IO库,以供无堆栈使用,而不是标准的?
我知道无堆栈本身和python的其他异步光线程扩展(eventlet、gevent、twisted.)。因此,我不看它们之间的差异,而是从pypy中获得的优点,以及在无堆栈中构建的优点。
发布于 2012-01-24 18:34:15
是否附带了异步IO库,以供无堆栈使用,而不是标准的?
从PyPy 2.6.1和PyPy3 2.4.0开始,您可以使用异步 (通过pypi包)替换无堆栈的异步特性。
使用PyPy的“本机”无堆栈比使用PyPy + greenlet +某些dispatcher有什么好处吗?
在更丰富的无堆栈API (例如微线程的酸洗)之外,它可以是速度的,因为调度程序是用C编写的运行时的一部分。
有关无堆栈的更多信息,请查看本文什么是无斯塔克?。
https://stackoverflow.com/questions/8960747
复制相似问题