延续 – 为什么PyPy 1.7不能实现“无堆栈”堆栈?

包含stackless的PyPy 1.7的默认构建,不提供没有递归深度限制(以直接方式)运行的能力.

为什么?

Previus构建的PyPy具有无堆栈支持的函数调用和尾递归的延续风格.

我不是在询问涉及协同程序的解决方案,而是在寻找集成stackelss的问题.

最佳答案 原因是新的continulet在os级别堆栈上工作,这是有限的

(但是它们比翻译过程中的旧无堆叠变换简单得多)

目前正在进行的continulet jit正在进行中,该实验的堆栈是gc管理的块

如果这是成功的,那么stackless的“无限”堆栈将以仅分配新堆栈块的形式返回,直到你用完为止.

点赞