python stackless_Stackless Python的缺点是什么?

左华灿
2023-12-01

我不知道Wiki上的“Stackless是快10%”,但是我再也没有试图测量这些性能数字。我不能想到Stackless做了什么区别大。

Stackless是一个令人惊讶的工具,有几个组织/政治问题。

第一个来自历史。基督教Tismer开始谈论什么最终成为Stackless大约10年前。他有一个想法他想要什么,但很难解释他在做什么,为什么人们应该使用它。这部分是因为他的背景没有关于协作的想法的CS培训,因为他的演示和讨论是非常实现导向的,这对于没有已经臀部连续的人来说很难理解如何使用它作为解决方案他们的问题。

因此,最初的文档很差。有一些描述如何使用它,与最好的第三方贡献者。在PyCon 2007年,我对“Using Stackless”进行了一次谈话,根据PyCon调查数据,这次谈话进行得相当顺利。 Richard Tew做了一个很好的工作收集这些,更新stackless.com,并在新的Python版本出现时维护分发。他是CCP Games的员工,EVE Online的开发人员,他们使用Stackless作为他们的游戏系统的重要组成部分。

CCP游戏也是人们谈论Stackless时使用的最大的真实世界的例子。 Stackless的主要教程是Grant Olson的“Introduction to Concurrent Programming with Stackless Python”,它也是面向游戏的。我认为这给人们一个歪曲的想法,Stackless是面向游戏的,当更多的是游戏更容易面向连续。

另一个困难是源代码。在它的原始形式,它需要改变Python的许多部分,这使Guido van Rossum,Python的领导,谨慎。部分原因,我认为,是支持call / cc,后来被删除为“太多像支持goto,当有更好的更高级的形式。我不确定这个历史,所以只是读这个段落为“Stackless以前需要太多的变化。

后来的版本不需要改变,Tismer继续推动它包含在Python中。虽然有一些考虑,官方的立场(据我所知)是CPython不仅是一个Python实现,但它的意思是作为参考实现,它不会包括Stackless功能,因为它不能实现的Jython或铁Python。

绝对没有“代码库的重大变化”的计划。从Arafangion的引文和参考超链接(见评论)从大约2000/2001。结构的变化已经做了很长时间,这是我上面提到的。无堆栈,因为它现在是稳定和成熟的,在过去几年中只有微小的调整代码库。

Stackless的最后一个限制 – 对Stackless没有强烈的支持。 Tismer现在深深地参与了PyPy,它是Python for Python的一个实现。他在PyPy中实现了Stackless功能,并且认为它比Stackless本身优越得多,并且认为PyPy是未来的方式。 Tew保持Stackless,但他对倡导不感兴趣。我认为担任这个角色,但不知道我如何能从中获得收入。

虽然如果你想在Stackless训练,随意contact me! 

 类似资料: