当前位置: 首页 > news >正文

Python 3.15 JIT 重回正轨:社区协作与幸运决策的胜利

【导语:2026 年 3 月 17 日消息,Python 3.15 的 JIT 提前达成性能目标,在 macOS AArch64 和 x86_64 Linux 系统上均有显著提速。回顾其发展历程,曾面临诸多困境,如今的成功得益于社区协作、幸运决策和优秀团队。】


JIT 提前达成性能目标

Python 3.15 的 JIT 在 macOS AArch64 系统上提前一年多、在 x86_64 Linux 系统上提前几个月达成性能目标。3.15 版本的 alpha 版 JIT 在 macOS AArch64 上比尾调用解释器快约11 - 12%,在 x86_64 Linux 上比标准解释器快5 - 6%。实际范围大概是慢 20% 到快 100% 以上(不考虑 `unpack_sequence` 微基准测试)。

社区主导推动 JIT 发展

2025 年,Faster CPython 团队失去主要赞助商,项目开启社区管理模式。在剑桥的 CPython 核心冲刺活动中,JIT 核心团队制定计划,目标是在 3.15 版本中让 JIT 提速 5%,在 3.16 版本中提速 10%,并实现自由线程支持,同时降低关键人物风险。

通过将复杂问题分解成可管理的部分,如 Brandt 开启多个大型问题,将 JIT 优化拆分成简单任务,作者借鉴其想法并制定详细说明,鼓励新贡献者参与。社区的优化努力使 JIT 在 x86_64 Linux 上的速度从比解释器快 1% 提升到了 3 - 4%。

幸运决策助力 JIT 提速

在剑桥活动中,Brandt 怂恿作者将 JIT 前端重写为跟踪式前端。最初原型效果不佳,后因作者误解 Mark 的建议,采用双调度机制,使 JIT 从慢 6% 提升到几乎没有速度损失,最终速度提升了 1.x%,还使 JIT 代码覆盖率提高了 50%。

另一个幸运决策是尝试消除引用计数。早期 Matt Page 在 CPython 字节码优化器中做了相关工作,作者发现 JIT 编译后的代码中引用计数递减操作的分支消耗性能,消除分支的工作不仅容易并行化,还让人们学习到 JIT 的关键部分。

优秀团队保障 JIT 进展

基础设施团队虽只有 Savannah 一人,但她用壁橱里的四台机器为 JIT 工作,每天进行 JIT 运行,对反馈循环起到关键作用,帮助发现 JIT 性能的回归问题,并验证优化效果。

Mark 技术出色,Diego 负责 ARM 硬件上的 JIT 并致力于让 JIT 对性能分析工具更友好,Brandt 为机器代码后端奠定基础,降低了新贡献者的参与门槛。

交流分享拓宽 JIT 视野

作者感谢 CF Bolz - Tereick 教会其关于 PyPy 的知识,加入和 Max Bernstein 的友好编译器交流群也让作者保持项目动力。和编译器开发者交流拓宽了作者的视野,使其在编写 JIT 方面更出色。

编辑观点:Python 3.15 JIT 的成功是社区协作、幸运决策和优秀团队共同作用的结果。这不仅为 Python 性能提升带来希望,也为开源项目发展提供了可借鉴的模式。

http://www.jsqmd.com/news/500889/

相关文章:

  • C# Avalonia 20 - WindowsMenu- SavePostion
  • 基于sa-token实现OAuth2.0单点登录系统
  • 如何用智能机票监控工具自动找到最低价航班:3个实用技巧
  • 公平可访问AI的前沿探索与技术实践
  • 有源滤波器(APF)的工作原理与指令电流检测及补偿电流生成通过谐波检测与控制,实现指定次数...
  • 凡人修行筑基第一层修炼功法之芯片手册(Datasheet)与Linux内核代码阅读方法:BSP工程师的终极指南
  • 【macOS(swift)笔记-1】鼠标悬停按钮时改变鼠标光标图案
  • vcenter 7.0 续订证书成功但是web未绑定
  • Final2x使用攻略:从入门到精通的完整教程
  • 从显示器握手到4K HDR:深入理解EDID如何影响你的观影体验
  • 7个专业级技巧:ComfyUI-AnimateDiff-Evolved从入门到精通AI动画创作
  • 保姆级教程:在CARLA中获取相机内外参并完成3D到2D坐标投影
  • OmniParser V2实战:如何用5分钟搞定PDF、Excel和图片文本提取(含中文OCR配置)
  • 2026年分析驻马店时尚定制衣柜,定制衣柜加工厂哪家比较靠谱 - 工业品网
  • 电动汽车无序充电仿真:蒙特卡洛抽样在 Matlab 中的实现
  • Python 中的并发 —— 进程间通信
  • 亚洲艺术电影节携澳门文化亮相深圳
  • Mac用户的终极NTFS读写解决方案:Nigate如何打破Windows与macOS之间的文件壁垒
  • 2026年深圳深科信申报辅导机构排名,经验与增值服务谁更优 - myqiye
  • PostgreSQL身份验证问题详解:为什么Navicat会报authentication method 10 not supported
  • 一丹一世界FLUX.1部署指南:阿里云ECS轻量应用服务器7861端口全配置
  • 2026年轻骨料混凝土价格排名,京津冀哪些品牌值得选购 - 工业设备
  • SageMath实战:5种方法破解离散对数难题(附Pollard-Rho算法避坑指南)
  • 又一个Linux发行版抛弃KDE Plasma了
  • 哈弗枭龙和长安深蓝S7增程式对比,谁才是你的理想之选?
  • 2026年京津冀地区靠谱的A型轻集料混凝土厂家排名 - mypinpai
  • 海康摄像仪语音对讲实战:LiveNvr+WebSocket跨平台集成指南(Win/Linux)
  • MySQL迁移不再踩坑:金仓数据库兼容性与工程实力深度解析
  • 2026年高性价比国际本科院校排名,北京认证国际本科院校推荐 - 工业推荐榜
  • MCP连接超时、消息乱序、ACK丢失全解析,深度解读协议栈层错误码映射表及自愈配置模板