社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 新版本去 GIL 刷屏,Karpathy 点赞敢死队,Python 之父:冷静,别神话并发

InfoQ Pro • 4 天前 • 35 次点击  
作者 | Tina、核子可乐

这周,Python 3.14 正式发布,把悬念了多年的“去 GIL(全局解释器锁)”写进官方发行版。

此次更新并非只是一项开关,而是一整套能力同步上线,涵盖自由线程支持、使用并发解释器、经过改进的调试器支持以及作为可选项的新解释器(有望将性能提升 3% 至 5%)。

Python 中的自由线程功能可禁用全局解释器锁(GIL),目前已在 PEP 703 中得到完整实现。它还配套了一个自适应解释器思路,源自 Mark Shannon 领衔的 Faster CPython 项目(尽管微软已在今年 5 月停止官方支持,相关成果已沉淀进实现)。

长期以来,GIL 既像安全网也像减速带:通过“同一时刻仅允许运行一个 Python 线程”来保障内存安全、避免许多棘手的并发 Bug,却也限制了 CPU 密集型多线程程序对多核的利用,除非借助繁琐的变通方案。如今,3.14 提供的自由线程(no-GIL)构建移除了这道栅栏,使多线程能够真正并行,重计算场景下的性能收益尤为明显。当然,权衡也必须看见——单线程速度通常会略有回落,内存占用大约增加 10%。这意味着开发者拥有了更清晰的选择权:需要稳妥与兼容时沿用带 GIL 的默认构建,需要极致并行时切换到 no-GIL 构建。

发布之后,许多开发人员报告说与过去的版本相比,速度明显提高。

在一系列基准测试中,它比去年的 Python 3.13 快了约 25%。

去 GIL 条件下,时间从 5.77 秒缩短到了 1.36 秒。

开发者 Jeffrey Emanuel 写道,“Python 3.14 终于真的发布了。终于移除了 GIL,这意味着多线程代码会快得多,不用再忍受多进程的脑损伤和各种临时变通。uv 已经完全支持,这太令人印象深刻了。”在他看来,这是一个“革命性、差异极大”的版本。

截图来源:https://x.com/doodlestein/status/1976478297744699771

起初,他以为自己的项目(依赖 PyTorch/pyarrow/cvxpy 等)还会被困在“GIL 地狱”。转念一想,不如交给 codex/GPT-5:自动检索博客与 issue,必要时 vendor 部分库,用 C++/Rust 从 nightly 源码构建替代轮子。经过数小时多轮迭代,最终全部跑通。与“大模型之前”的年代相比,此类升级既耗时又高风险;而现在,“我们正在生活在未来”。

Andrej Karpathy 也在 X 上点赞这个贴文,就像是一记注脚:这一次,Python 的并发故事真的开始加速了。

不过,和社区对“去 GIL”与 AI 的狂热相比,Guido van Rossum 在发布后的一次专访中给出了更为冷静的提醒:他直言去除 GIL 的重要性被高估,去 GIL 主要服务于超大规模并发场景,同时抬高了 CPython 的贡献与维护复杂度;AI 炒作太过了,“归根结底还是软件”,他并不迷信“AI 驱动的未来”,更强调代码必须可读、可审;工程常识优先于热点——并发模型并不易掌握,很多人在并行化后反而变慢,与其逐热,不如把生态兼容、可维护性与长期演进放在更优先的位置。

以下是 Guido van Rossum 访谈的翻译:

Python 之父怎么看?
问 1:《Python 之禅》强调简洁性和可读性。随着 AI 与机器学习系统日益复杂,您认为这些核心原则是否比以往任何时候都更加重要,或者说应当在这个新时代重新评估这些原则的意义?

Guido van Rossum: 代码仍然离不开人类的阅读和审查,否则我们可能会完全失去对自身生存的控制力。而且看起来,Python 等秉承“人文主义”哲学的语言也适合用来编写模型——毕竟大语言模型擅长的就是处理人类语言结构,而编程语言终究也是为人类设计了。因此只要经过相应训练,大模型将很擅长阅读和输出这类语言。另外,大部分大模型都接受过良好的 Python 语言能力训练。

问 2:在最初缔造 Python 的时候,您有没有想过它会成为科学计算与 AI 领域的主导性语言?您认为它在这些领域的意外成功是由哪些因素促成的?

Guido van Rossum: 我完全没想到过!我不是个很有野心的人,现在回想起来成功的关键因素可以说有两个。首先,作为一种语言,Python 既易于理解、且功能极其强大。正如 Bruce Eckel 所说,“它特别贴合人类的脑回路”。第二个因素则是,我在设计 Python 时会考虑如何让它跟操作系统服务和第三方库良好集成。这样它的功能将更多样也更加可扩展,例如允许 NumPy 之类的主流库独立于 Python 本体之外进行开发。

问 3:近期关于全书解释器锁(GIL)可选化的研究以及对 AI 性能的普遍需求成为热点。那您会如何看待 Python 并行性与并发性的未来?这两点对 Python 语言的长远发展又意味着什么?

Guido van Rossum老实说,我觉得移除 GIL 这事的影响被过度夸大了。这既满足了我们最大用户(例如 Meta)的需求,同时也给 CPython 代码库的潜在贡献者招了点麻烦(新代码更容易引入并发性 bug)。

我们经常听到有人说,他们在尝试了代码并行化之后速度反而变慢了——这让我认为大众对于 Python 编程模型的理解仍有进步的空间。

再有,我担心 Python 会变得过于企业化,因为大企业客户只会为他们需要的新功能付费。这里澄清一下,企业客户虽然不会花钱让我们替他们实现功能,但会提供开发人员参与贡献,所以其实是一回事。

问 4:您在 Python 引入类型提示中是位关键倡导者。那您如何看待静态类型在 Python 中的演进?您认为它在构建我们如今熟悉的大规模关键任务型 AI 应用中扮演着怎样的角色?

Guido van Rossum: 我没听说过有哪些大规模关键任务型 AI 应用,我只知道有很多大规模关键任务型非 AI 应用。对于这类应用程序来讲,类型提示非常非常重要,也是其他工具对代码库进行有效处理的前提。我认为类型提示的应用阈值大概是一万行代码——低于这个阈值,类型提示的价值就会降低,因为开发者自己就能记住其中大部分代码,传统动态测试也基本应付得来。而一旦代码量达到上万行,缺少了类型提示几乎没办法保证代码质量。当然,我不会强迫语言初学者使用类型提示。

问 5:从 Python 2 到 3 的过渡应该是语言发展史上意义最重大,同时又充满挑战的篇章。这段经历带来了哪些重要的经验教训,在新范式已经出现的现实条件下,这些经验教训又将如何指导 Python 未来的发展态势?

Guido van Rossum: 我不觉得这里需要专门强调范式的变化,毕竟范式转换其实就意味着过往的经验已经无法帮助我们理解新的现实。但要说最关键的经验教训,那就是对于任何未来的版本更新,哪怕只是从 3.x 到 3.x+1,我们都必须始终考虑如何在不改变旧应用形态的前提下实现支持。总而言之,迁移方法必须经过慎重考虑,特别是大多数库都必须同时支持多个版本(我们在 2.0 到 3.0 的升级过程中对此体会不深,也没有制定出好的解决方案)。

问 6:Python 的简洁性是其备受赞誉的特性之一。随着新的、更强大的 AI 库引入更多抽象层和复杂性,您认为社区该如何更好地保持 Python 语言的易用性,防止它给初学者带来更高的准入门槛?

Guido van Rossum: 到目前为止,我使用的 AI 库都不算特别强大或者复杂——它们只是让人们能跟远端实际提供 AI 服务的设施进行通信。相比之下,很多互联网协议反而更复杂,而且也没什么本质上的区别。

要说差异,那就是 AI 提供商的节奏太快了,有时候每几周就变更一次 API,提供的说明文档也是质量低下、内容混乱。 总之我们会继续遵循长久以来的实践思路——用库和 API 构建这个世界。

Python 经历过计算领域的一系列剧烈变革,却仍然屹立不倒,所以我对这个问题并不太担心。早在 90 年代初互联网几乎不存在的阶段,那时微软还通过软盘和光盘分发软件;我们还经历了互联网和万维网的发展,从集中式计算到个人电脑,再到浏览器端软件以及硬件的巨大改进,Python 都平稳走过来了。

问 7:鉴于现代 AI 开发的独特需求(从数据处理到模型训练),如果您现在可以在 Python 内核中添加一项主要功能或者进行一项变更,您会怎么做?为什么?

Guido van Rossum: 我什么都想不出来。我还是觉得现在 AI 炒作太甚了,它的本质仍然是种软件。 在我自己的 AI 使用体验中,确实会借助一些小型库来发挥它的技术能力,也就是利用 AI 的优势以传统方式高效处理数据库操作。我们也有一部分代码是由所谓“智能体”编写的,但我们不会使用氛围编程。我们在架构和 API 设计方面一直保持高度自主可控。

问 8:像 Mojo 和 Julia 这样的新兴语言专门为高性能 AI 场景开发而成。您如何看待这种新兴的竞争态势?Python 要如何继续保持自身领先地位,并且在未来十年的技术进步中始终维持自身优势?

Guido van Rossum: Mojo 强调成为高性能 AI 的实现“内核”,这要求对计算机进行非常严格的分类优化。所以它既不可能取代 Python 的生态地位,也并不打算这么做。我印象中 Julis 好像跟高性能 AI 关系不大——它更多面向高性能数值计算,就是说既能服务于 AI,也能服务于其他具有苛刻要求的应用领域。

问 9:您的角色已经从终身仁慈独裁者(BDFL)演变为微软杰出工程师。这种角色转变对您在 Python 开发、社区治理以及更广泛的企业生态系统中的定位产生了怎样的影响?

Guido van Rossum: 这肯定代表着地位的下降。我一直担任 BDFL,直到 Python 的所有治理职责不再由一个人承担,这其实就标志着我已经退休了。而之后选择微软,是因为我意识到自己仍然想要继续编程。在供职于谷歌和 Dropbox 之后,告别了鲍尔默时代的微软似乎确实是个体验更多编程乐趣的好地方。

问 10:回顾您与 Python 合作的精彩历程,展望 AI 驱动的未来,您希望 Python 能够在历史上留下怎样的一笔?从个人角度来讲,您如何看待未来几年编程这个概念的变化?

Guido van Rossum: 我绝不向往一个由 AI 驱动的未来。我担心的并不是 AI 会毁灭整个人类族群,只是我看到过太多缺乏伦理道德之人,往往用极低的代价就对全社会造成了巨大破坏。如今这股炒作弊端的根源就在社交媒体——AI 只是又一次重大的计算机范式转变,它确实会颠覆社会,但并没有真正影响软件的本质。

我希望 Python 的传承能够始终体现其草根精神和全球协作精神,始终依托于平等和尊重,而非权力和金钱。希望 Python 始终为“平凡人”赋能,帮助他们编写出灵感中的项目。

参考链接:

https://www.odbms.org/blog/2025/10/beyond-the-ai-hype-guido-van-rossum-on-pythons-philosophy-simplicity-and-the-future-of-programming/

今日好文推荐
著名物理学家、诺贝尔物理学奖得主杨振宁逝世;知乎又崩了!年内第三次“宕机”来袭;苹果AI又一核心高管跳槽Meta | Q资讯
挑战Claude code和Cursor:阿里Qoder对标全球,AI编程迎来“上下文”革命
AI 时代,编程语言选型更难也更重要:Go、Rust、Python、TypeScript 谁该上场?
明星AI编码助手涨价10倍惹怒开发者!CEO 回应:有人花千元薅了我们10多万,不挣钱不可持续
活动推荐

10 月 23-25 日 QCon 上海站开幕倒计时 3 天,3 天沉浸式学习,100+ 工程实战案例,直面一线的挑战与解法。大会将聚焦 AgenticAI、具身智能、强化学习框架、端侧大模型实践、多智能体协作等热门话题,以及 AI 时代下的软件研发、可观测、开源等技术实践。一票难求,立即扫码预占席位!

image

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/188093