去年 11 月,退休失败的 Python 之父 Guido van Rossum 在推特上宣布,退休生活太无聊,从而加入了微软开发者部门。微软自然支持优秀人才的发展,所以赋予了 Guido van Rossum “自由选择项目”的权利,Guido van Rossum 也表示会致力于“确保更好地使用 Python”。彼时,相信不少人认为 Guido van Rossum 的这句“更好”不过是官宣时的“常用说法”,可在上周的 PyCon 语言峰会上,Guido van Rossum 证明了他那句话不是说说而已:要让 Python 成为更快的语言,承诺在明年的 Python 3.11 中要将其速度提高 2 倍,以解决 Python 与 C++ 等其他编程语言相比在速度上的关键缺点。
4 年把 Python 速度提升 5 倍
Guido van Rossum 在峰会上展示了一份提交至 GitHub 的 PDF,详细说明了他对于提高 Python 速度的决心与规划。(PDF 地址:https://github.com/faster-cpython/ideas/blob/main/FasterCPythonDark.pdf)Guido van Rossum 介绍道,这个项目名为“Shannon Plan”,由微软资助的一个小团队负责,除了他还包括 Python Core 开发人员和微软高级软件工程师Eric Snow 以及 Semmle 的研究工程师 Mark Shannon,其中 Mark Shannon 主要开发用于代码安全性分析的产品,并且在去年十月就已经开始提出了这项给 Python 提速的计划,因此本次项目的命名也取自于他的名字“Shannon”。
据 Guido van Rossum 在演讲中所说,“Shannon Plan” 项目将全程在 GitHub 开源,并且将基于 Mark Shannon 此前有关 HotPy 和 HotPy 2(针对 CPython 的即时编译器)的开发经验,承诺将在 4 年内把 Python 速度提升 5 倍,即每年约提升 1.5 倍。
以此为目标,Guido van Rossum 表示计划于明年发布的 Python 3.11 版本实现提升 2 倍的速度。他还大致解释了团队需要为此做出的努力:
- 适应性、专门的字节码解释器(类似于内联缓存,但功能更全面)
- 各种其他单独的优化:例如优化帧堆栈、调用更快、调整分配,还有“零开销”异常处理
不过 Guido van Rossum 也没有把话说的太死,因为提速实际上存在许多限制,包括不能破坏稳定的 ABI(应用程序二进制接口)兼容性、不能破坏 API 的兼容性、要保持代码兼容可维护以及在极端情况下不能降低速度等难题。
所以大概是为了避免意外,他补充道:“我们并不能确定我们肯定会达到 2 倍!只是乐观计划。”
微软持续助力 Python 发展
除了这个“Shannon Plan”,微软还资助了一支专门“负责解释语言的性能改进”的 Python 团队。其实不难看出,近年来微软一直都在深度拥抱开源,也很支持 Python 的发展。其中包括:发布免费的 Python 课程、通过 VS Code Python 扩展在 Windows 10 及以上版本均支持 Python。此外,微软自 2006 年起就成为了 Python 软件基金会(PSF)的正式赞助商,不说曾经,仅今年就已经提供了 15 万美元的赞助费。
微软 Python 与 AI 工具首席经理 Dan Taylor 对此曾表示:“作为提供给 PSF 15 万美元财务赞助中的一部分,我们将把资金集中到程序包工作小组当中,帮助他们进一步改善 PyPI 与程序包生态系统。”不仅如此,微软内部目前也有 5 个为 CPython 开发做出贡献的核心开发人员,包括:Brett Cannon,Steve Dower,Guido van Rossum,Eric Snow 和 Barry Warsaw,他们全部都是 Python 核心开发者社区中的资深人士。
总体看来,不论是资金还是技术,微软对 Python 的支持可谓全面,或许这也促成了 Python 之父 Guido van Rossum 在退休后选择进入微软的部分原因。正如当初他在推特宣布加入微软的时候,最后提了一句“这里(微软)有很多开源”,微软对 Python 的助力、对开源的支持他都看得见。
因而在峰会的演讲中,Guido van Rossum 指出:我选择回到我的根源,这也是微软回馈 Python 的方式。