CPython拟引入Rust,3.16版zlib模块可选

CPython拟引入Rust,3.16版zlib模块可选。团队参考Android经验以解决内存安全问题,首个目标为zlib。若通过,Python 3.16中几乎每次pip install都将获得速度提升。

在 2026 年 Python 语言峰会(Python Language Summit)上,软件工程师 David Hewitt 就“Rust for CPython”项目向核心开发者团队展示了具体的实施路线图、阶段划分及成功标准。Hewitt 担任该项目的“大使”,而 PEP 草案由核心开发者 Kirill Podoprigora 和 Emma Smith 共同起草。

Python 3.16将支持Rust版zlib

目前,该项目团队规模约为 60 人,活跃于 Discord 频道中,成员包括部分 Python 核心开发者以及来自 Rust 官方项目的代表。Emma Smith 也在 PyCon US 2026 大会上介绍了这一进展。值得注意的是,去年 PyCon US 2025 期间,团队曾试探性地提出相关构想,当时并未遭到反对。

引入 Rust 的动因与经验借鉴

Hewitt 指出,CPython 中标记为 “type-crash” 的问题数量呈持续上升趋势,这成为推动内存安全语言介入的重要理由。团队参考了 Android 和 Linux 内核集成 Rust 的经验。David 引用 Jeff Vander Stoep 的观点,形容在 Android 中使用 Rust 是“快速行动并修复问题”,且数据显示自采用 Rust 后,“同等规模补丁所需的修订次数减少”。

平台支持现状与时间表

针对此前关于 Rust 平台支持不如 CPython 广泛的担忧(CPython 目前在 Tier 1、2 或 3 级别支持 20 种不同的架构和平台),Hewitt 表示 Rust 的平台覆盖范围在过去一年中已显著扩大,这一问题正逐渐淡化。

提案建议 Python 发行版维护者在 Python 3.16(预计 2027 年 10 月发布)中尝试使用可选的 Rust 支持,并将特定平台的问题反馈至上游,以便在 Python 3.17(预计 2028 年 10 月发布)周期内解决。

  • Python 3.16 (2027年10月):首次包含 Rust 代码,完全可选,保留现有 C 代码作为后备方案。
  • Python 3.18 (2029年):最早可能要求构建 CPython 必须使用 Rust,距今至少三年。

首个目标模块:zlib

Rust for CPython 团队选定 zlib 模块作为首个获得可选 Rust 实现的目标,旨在以“小范围”实现“显著提升”。拟采用的实现基于 zlib-rs,该库已在 Firefox、uv 和 Cargo 项目中经过广泛测试和使用,且在许多平台上性能优于 zlib 和 zlib-ng。

由于 zlib 压缩算法被 Python 打包工具广泛使用,若提案通过,这意味着 Python 3.16 中的几乎每一次 pip install 操作都将获得速度提升。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读