Meta 正致力于推动 Python 项目采纳 PEP 703 提案,以改进 Python 代码的多线程性能。PEP 703 指的是 Making the Global Interpreter Lock Optional in CPython,让全局解释器锁在 CPython 中成为可选。
该提案建议向 CPython 添加构建配置 (--disable-gil
),使其在没有全局解释器锁的情况下运行 Python 代码,并进行必要的更改以保证解释器线程安全。
根据提案的描述,CPython 的全局解释器锁 (GIL) 阻止了同时多线程执行代码,成为了在多核 CPU 上提高 Python 代码运行效率的一大障碍。
Python 之父最近在社区提到,如果 Meta 或其他科技公司能够让一些具有成熟 CPython 内部经验的工程师来帮助核心开发团队完成这项工作,那就太好了。
Meta Instagram 团队工程师 Carl Meyer(同时也是 CPython 核心开发者)看到后许下承诺,称如果 PEP 703 提案接受,他们将在 2025 年前投入三个工程师年 (three engineer-years),与核心团队合作去实现 PEP 703。
最后插播一下,Meta 最新发布的产品 Threads 正是采用 CPython 作为后端。详情:Threads 注册量已破三千万,后端基于 CPython 深度“魔改”。
延伸阅读
- Python 3.12 将能够使用不共享 GIL 的解释器
- Python 新提案:删除全局解释器锁 GIL,解放多线程性能
- Faster CPython 公布面向 Python 3.13 的计划:优化解释器和内存管理