Python 之父爆料:明年至少令 Python 提速 1 倍!
![](https://filescdn.proginn.com/11a8aef1825a6b6969ffe20e6cbabef6/e3a45f2a5f36563a861bb78931101d47.webp)
作者:豌豆花下猫
来源:Python猫
大概在半年前,我偶然看到一篇文章,有人提出了给 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 中:
![](https://filescdn.proginn.com/90fc4494604517a586382e0644b04e5e/f2d4c813fd9d75c6736de49bf381a59b.webp)
其它的优化内容还有:
优化帧堆栈,更快的调用,调整分配( optimize frame stack, faster calls, tweak allocation) “零开销”异常处理(“Zero overhead” exception handling)
以及这些工作:
![](https://filescdn.proginn.com/981814cc8fb20cb4e0dcf22e2b6a7c55/c3629ed353b50d63623bac58c8719584.webp)
这些优化工作都要在不破坏接口兼容性的前提下实现,同时还要保持代码的可维护性。
在 Guido 的分享中,还有很多细节内容。在这里,我们把完整的分享材料贴一下吧。(原文件是 PDF 版本,可在“Python猫”后台回复数字“0516”下载 )
![](https://filescdn.proginn.com/b1f9cdb12bf48dee90ddb7be6a0b5a9b/64e572769d0d971cce095dfcd223ec43.webp)
![](https://filescdn.proginn.com/37af9fd9cfc79b1b1fdbd70eb2640641/893dcc61c033c78e8dd12d2787b68c90.webp)
![](https://filescdn.proginn.com/bfb7a0c77bd232e6f5f65bc032bd151e/934d50e1b63eb6121055ce22e57e77fe.webp)
![](https://filescdn.proginn.com/4903b82f7f897708ab4de0dcd18b78ac/c492ff191371f7e26693437266855d62.webp)
![](https://filescdn.proginn.com/a35eb36b6c604ab600e45848800fec07/222b85ff8aa8cf4b43461465a2dba5c9.webp)
![](https://filescdn.proginn.com/3a07695b6bf36f8a92405c6e7ffd5a83/0c8e80c98266f45bb4563a3c098ff37f.webp)
![](https://filescdn.proginn.com/f42f135472caa30aa56ca721143cfb43/f8ddad1532defbff7a48c2bc869f56b3.webp)
![](https://filescdn.proginn.com/4bd8b1a9fe0a5d5e43d8c9e6a1ce9b7b/101bc6179785ccaa90da9fae308b5094.webp)
![](https://filescdn.proginn.com/fa0e5b7c125ab8dec9426cc4b2e0f7c5/f2737a776182e09986713739ac54fe3d.webp)
![](https://filescdn.proginn.com/feca375f7c6c72cb14f55e2b382d6020/4694fc64434b948b149fbbb8fadacbe9.webp)
![](https://filescdn.proginn.com/a35eb36b6c604ab600e45848800fec07/0e3fb930fef6fddf2bce915cd5694350.webp)
![](https://filescdn.proginn.com/0aee277cc70bc764788a291ccadaee39/67668f70122be2feb5f9e93aeed03c6d.webp)
![](https://filescdn.proginn.com/8274a551f308eb2fe79c0986b4510e24/70783c3fa48dc509eca62525ee0f37d2.webp)
![音符](https://filescdn.proginn.com/33d210c09996eee634da512f4cd3c832/af0e44715c742b25f78791b20dc4085c.webp)
推荐阅读:
评论