PyPy和PyPy+greenlet中的无堆栈-差异



PyPy的新版本附带集成的无堆栈。据我所知,捆绑的Stackless与2001年的原始Stackless不同。所以主要是带有调度器的绿色线程框架。

Greenlet是Stackless的衍生产品,它作为扩展模块提供了Stackless绿色线程功能。

使用PyPy的"native"StacklesPyPy+greenlet+一些调度器(例如:gevent)有什么好处吗或者问题是我不能在PyPy中使用这些类型的扩展?更具体地说:我知道PyPy有自己的greenlet实现(基于continuet)。但我很好奇在PyPy中将外部greenlet与gevent和内部greenlet联系起来的可能性。

PyPy是否附带了用于Stackless的异步IO库而不是标准IO库

我知道stackless本身和python的其他异步轻线程扩展(eventlet、gevent、twisted…)。所以我不想看它们之间的区别,而是看pypy与内置stackless的优势。

PyPy是否附带了用于Stackless的异步IO库而不是标准IO库

从PyPy 2.6.1和PyPy3 2.4.0开始,您可以使用asyncio(通过pypi包)来取代无堆栈的异步特性。

使用PyPy的"本地"无堆栈比PyPy+greenlet+一些调度器有什么好处吗

在更丰富的Stackless API之外(例如酸洗微通),它可以是速度,因为调度器是用C编写的运行时的一部分。基准测试应该让这一点变得明显或不明显。

有关无堆叠的更多信息,请参阅这篇文章什么是无堆叠?

相关内容

  • 没有找到相关文章

最新更新