社区
教程
Wiki
注册
登录
创作新主题
社区所有版块导航
Python
python开源
Django
Python
DjangoApp
pycharm
DATA
docker
Elasticsearch
分享
问与答
闲聊
招聘
翻译
创业
分享发现
分享创造
求职
区块链
支付之战
aigc
aigc
chatgpt
WEB开发
linux
MongoDB
Redis
DATABASE
NGINX
其他Web框架
web工具
zookeeper
tornado
NoSql
Bootstrap
js
peewee
Git
bottle
IE
MQ
Jquery
机器学习
机器学习算法
Python88.com
反馈
公告
社区推广
产品
短视频
印度
印度
一周十大热门主题
OpenAI CEO奥特曼向“财富500强”企业推介企业版ChatGPT;雷军回应余承东调侃小米su...
科技快讯 | 华为哈勃首次投资国内 AI 大模型公司;OpenAI向ChatGPT付费用户开放GPT...
【深度学习】目标检测的常用数据处理方法!
【Nucleic Acids Research】利用生成式深度学习模型设计蓝藻细菌的合成启动子
GPT-4 Turbo重回王座,ChatGPT免费升级!数学暴涨10%/上下文全面碾压
本周推荐的6个火火火的Github开源项目!
GitHub(微博搜索)-20240416-1
融合ChatGPT+DALL·E 3,贾佳亚团队新作开源畅玩:识图推理生图一站解决
【生物催化】一种实用的机器学习辅助蛋白质工程研究范式
【东方金工·上海线下沙龙】深度学习与量化投资
关注
Py学习
»
Python
喜大普奔!Python终行动,天下苦GIL久矣
OSC开源社区
• 1 年前 • 223 次点击
文 | 罗奇奇
出品 | OSC开源社区(ID:oschina2013)
据 Python 基金会博客介绍,开发者 Sam Gross 在 2022 Python 语言峰会上带来了一个新提案:完全移除 CPython 解释器的
GIL- 全局解释器锁,使 Python 程序获得更快的性能 —— 尤其是多线程程序。
Python 有多个版本,包括 JVM 、 .NET CLR 解释器以及编译器,但该语言的核心实现仍是 CPython 解释器。由于 CPython 的内存管理非线程安全,因此设计了 CPython 的 GIL (Global Interpreter Lock - 全局解释器锁),以防止竞争条件并确保线程安全。GIL 是一个互斥锁,只允许一个线程持有 Python 解释器的控制权,从而保护对 Python 对象的访问,防止多个线程同时执行 Python 字节码。
但事后看来,GIL 并不理想,因为它阻止了多线程的 CPython 程序充分利用多核处理器的性能。但由于 GIL 长期存在,许多官方和非官方 Python 包和模块都深度融合了 GIL 模块,移除 GIL 功能的工作变得任重而道远。此前,开发者 Larry Hastings 在其
“Gilectomy”
(GIL 切除手术)项目中试图完成 CPython GIL 功能的移除,但该项目失败了,因为它使单线程 Python 代码显着变慢。
而此次 Python 语言峰会带来了另外一个项目
“nogil”,
该项目由 Meta 开发人员 Sam Gross 主持,从项目名称不难看出,这也是一个专注于移除 GIL 的项目。参考了 Gilectomy 项目的失败经验, Sam Gross 意识到 :如果要使 Python 在没有 GIL 的情况下有效工作,则需要添加新的锁,以确保它仍然是线程安全的。然而,向现有代码添加新锁可能非常困难,因为新的锁可能会导致在部分领域的性能大幅下降。
据 Python 基金会的介绍,Gross 将发明一种新型锁,一种 “更吉利” 的锁。如果顺利的话,这个新锁很可能在 Python 3.12 版本亮相,因为 Gross 的提案就是 “在 Python 3.12 中引入一个新的编译器标志,该标志将禁用 GIL。”
此次提案一出,引发网友热议:
对于此次提案,你有什么想说的吗?评论区等你~
END
回到地球
他创建了 Ubuntu
觉得不错,请点个
在看
呀
Python社区是高质量的Python/Django开发社区
本文地址:
http://www.python88.com/topic/134467
223 次点击
登录后回复