PyPy 打算推出无 GIL 版本,或和默认版本分开发行

lazywolf 发布于3年前

PyPy

Python 社区一直有讨论移除 GIL(Global Interpreter Lock) 的声音,而且各解析器也有做各种尝试去解决这个问题。Jython 和 IronPython 在底层平台的帮助下已成功地将其移除,而像 gilectomy 、CPython 则还没有结果。

PyPy 团队 8 月 14 日发文表示,其团队自今年的 February Sprint  后一直在进行移除 GIL 的各种试验,希望能实现 IronPython 和 Jython 的效果(相比之下,他们认为在 CPython 中移除 GIL 会更难,因为还需要解决多线程引用计数的问题)。到目前为止,终于拥有了一个无 GIL 版的 PyPy ,它可以运行非常简单的多线程、并行化的程序,但如果是更复杂的程序可能会出现故障。后续将针对此问题进行重点研究。

不过由于这样的工作会使 PyPy 代码库和团队的日常工作复杂化,PyPy 团队表示想判断社区和商业伙伴(非个人捐赠)是否对该实现感兴趣。如果他们能得到一个 10 万美元的合同,他们将提供一个完整工作的 无 GIL PyPy 解释器,并可能与默认的 PyPy 版本分开发行。他们随后在文章中附上了具体的技术细节。

文章发布后,引起了 Python 群体的热议,有表示支持的,也有认为这其实就是在找投资,但没有看到明显的商业价值;还有人认为开发过程中其实可以忽略 GIL ,并不需要这么麻烦。

欢迎在下方评论,对此事发表自己的看法。

 

查看原文:PyPy 打算推出无 GIL 版本,或和默认版本分开发行

  • purplesnake