大概在半年前,我偶然看到一篇文章,有人提出了给 Python 提速 5 倍的计划,并在寻找经费赞助。当时并没有在意,此后也没有看到这方面的消息。
但是,就在 5 月 13 日“2021 年 Python 语言峰会”上,Python 之父 Guido van Rossum 作了一场《Making CPython Faster 》的分享,他已经投入了这项计划!
据 Guido 爆料,他因为“退休”无聊,申请加入了微软,因此组建起一个小团队。目前成员除了他还有两个:Eric Snow(Python 核心开发者之一、微软高级工程师)和 Mark Shannon(本文第一段那个计划的提出者,精通 Python 性能研究)。
整个计划被称为“香农计划”(即“Shannon Plan”,得名于提出者),期望花 4 年时间把 Python 提速 5 倍,即每年 1.5 倍。现在短期的计划是在 Python 3.11 版本中实现至少提速 1 倍。
按照官方的发布周期,今年 10 月会发布 3.10 版本,而 3.11 版本将在 2022 年 10 月发布。
怎么做到令 3.11 版本提速一倍呢?
根据 Guido 的分享,第一项优化工作是“适应性的、专门的字节码解释器”,相关的设想已经起草到 PEP-659 中:
其它的优化内容还有:
  • 优化帧堆栈,更快的调用,调整分配( optimize frame stack, faster calls, tweak allocation)
  • “零开销”异常处理(“Zero overhead” exception handling)
以及这些工作:
这些优化工作都要在不破坏接口兼容性的前提下实现,同时还要保持代码的可维护性。
在 Guido 的分享中,还有很多细节内容。在这里,我们把完整的分享材料贴一下吧。(原文件是 PDF 版本,可在“Python猫”后台回复数字“0516”下载 )