Python PyPy和PyPy+中的Stackless;格林莱特差异

Python PyPy和PyPy+中的Stackless;格林莱特差异,python,gevent,pypy,python-stackless,greenlets,Python,Gevent,Pypy,Python Stackless,Greenlets,新版本的PyPy附带集成的无堆栈。 据我所知,捆绑式Stackless与2001年的原产地Stackless不一样,具有延续性。因此,主要是带有分派器的绿色线程框架 Greenlet是Stackless的一个分支,它作为扩展模块提供Stackless绿色线程功能 从PyPy使用“native”Stackless比PyPy+greenlet+somedispatcher(例如:gevent)有什么好处吗?或者问题是我不能将这些类型的扩展与pypypy一起使用?更具体地说:我知道PyPy有自己的gr

新版本的PyPy附带集成的无堆栈。 据我所知,捆绑式Stackless与2001年的原产地Stackless不一样,具有延续性。因此,主要是带有分派器的绿色线程框架

Greenlet是Stackless的一个分支,它作为扩展模块提供Stackless绿色线程功能

从PyPy使用“native”Stackless比PyPy+greenlet+somedispatcher(例如:gevent)有什么好处吗?或者问题是我不能将这些类型的扩展与pypypy一起使用?更具体地说:我知道PyPy有自己的greenlet实现(基于continuelet)。但我很好奇在PyPy中将外部greenlet与gevent和内部greenlet连接起来的可能性


PyPy是否附带异步IO库以供Stackless代替标准库使用?


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

pypy是否提供了一个异步IO库,用于替代标准的stackless?

从PyPy2.6.1和PyPy3 2.4.0开始,您可以使用(通过pypi包)替换stackless的异步功能

使用PyPy的“原生”Stackless比PyPy+greenlet+somedispatcher有什么好处吗

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

有关stackless的更多信息,请参阅本文