Python指导委员会计划接受PEP 703提案,让全局解释器锁成为可选

出品 | OSC开源社区(ID:oschina2013)
CPython/ target=_blank class=infotextkey>Python 核心开发者 Thomas Wouters 今日代表 Python 指导委员会宣布了关于 PEP 703 提案(在 CPython 中使全局解释器锁成为可选)的最新进展 。
【Python指导委员会计划接受PEP 703提案,让全局解释器锁成为可选】他表示,从社区对 no-GIL 提案的民意调查结果来看,整体是积极的支持态度 。因此 Python 指导委员会计划接受 PEP 703 提案,目前正在研究相关细节 。

Python指导委员会计划接受PEP 703提案,让全局解释器锁成为可选

文章插图
Thomas Wouters 介绍了指导委员会的预期想法:
  • 从长远来看(可能 5 年以上),no-GIL 构建应该是唯一的构建。他们不希望在出现 GIL 和 no-GIL 构建(以及扩展模块)之间创建永久的区分
  • 保持向后兼容,避免出现另一种 Python 3 的情况
  • 承诺完全切换到 no-GIL 构建之前,需要看到社区对其的支持
  •  
基于此,他们的开发方向分为三个阶段:
  • 短期内,将 no-GIL 构建添加为 实验性构建模式,大概是在 Python 3.13 提供
  • 从中期来看,当确信有足够的社区支持来使 no-GIL 的生产使用可行后,他们会支持 no-GIL 构建,但不是默认
  • 从长远来看,他们希望 no-GIL 成为默认值,并删除 GIL 的任何痕迹(不会不必要地破坏向后兼容性)
PEP 703 提案建议向 CPython 添加构建配置 (--disable-gil),使其在没有全局解释器锁的情况下运行 Python 代码,并进行必要的更改以保证解释器线程安全 。
根据提案的描述,CPython 的全局解释器锁 (GIL) 阻止了同时多线程执行代码,成为了在多核 CPU 上提高 Python 代码运行效率的一大障碍 。
Python指导委员会计划接受PEP 703提案,让全局解释器锁成为可选

文章插图
相关链接: https://discuss.python.org/t/a-steering-council-notice-about-pep-703-making-the-global-interpreter-lock-optional-in-cpython/30474




    推荐阅读