《这一次, Python 真的有望告别 GIL 锁了?》

2023-02-20 13:40:54 +08:00
 chinesehuazhou
避坑说明:

1.文章简单介绍了 PEP-703 ( Making the Global Interpreter Lock Optional in CPython ),提及 PEP-554 、PEP-684 。不想看简单科普文的,建议去查阅 PEP 文档

2.文章对 草稿状态的草案 抱有乐观态度,请持保留意见的同学轻喷

3.链接 1 来自公众号,不喜公众号的同学,请跳过。链接 2 来自知乎,不喜知乎的同学请跳过



链接 1: https://mp.weixin.qq.com/s/HHSjv0ZlAjq0ZvLHMI-W9g

链接 2: https://zhuanlan.zhihu.com/p/607655350
6864 次点击
所在节点    Python
43 条回复
yuyang
2023-02-20 14:11:58 +08:00
这真不要抱什么期望,只要它还想兼容那一堆 c 模块就基本不可能,python 就这样了,迟早变成性能垫底的主流语言
anonydmer
2023-02-20 14:24:01 +08:00
别啊,没了 GIL 还是 python 么? 这么古老的东西现在都变成情怀了,不要伤了老玩家的心
totoro52
2023-02-20 14:37:52 +08:00
@anonydmer 把我逗笑了
monetto
2023-02-20 14:40:23 +08:00
其实 GIL 还是有一些正向作用的(狗头)
有时候,自己写的常驻工具,是 Flask 形式的,里面有些高消耗 CPU 的操作,可以让 CPU 最多只消耗 1/CPU 核数,不至于一下消耗完 CPU 资源。
tulongtou
2023-02-20 14:42:24 +08:00
@monetto 高消耗 CPU 的不该换个语言写么,Go/Rust 这种。可能只是 Python 耗 CPU ,换成 Go/Rust 就不耗 CPU 了(偷笑
raycool
2023-02-20 15:13:52 +08:00
期待早日到来的那一天。
kindjeff
2023-02-20 15:27:11 +08:00
有一说一,真有不少项目把 GIL 当 feature 用的
a852695
2023-02-20 15:45:30 +08:00
够呛,喊了多少年了
Huelse
2023-02-20 16:20:58 +08:00
这样不就约等于出个 python4 ?当年 2 升 3 就够折腾了,现在生态更发达了更小心翼翼
lasuar
2023-02-20 16:22:28 +08:00
求生欲好强~
vicalloy
2023-02-20 16:35:48 +08:00
相比 GIL ,我更在意 Python 的单核性能。
victorc
2023-02-20 16:52:50 +08:00
完全没有必要,各种包都需要适配,会消耗全世界大量的时间来处理这些隐藏的兼容性 bug

还不如推倒重来,全新设计一个新语言
monetto
2023-02-20 17:56:25 +08:00
@tulongtou 但是 128MB RAM 的小嵌入式设备跑不起来 Go/Rust ,以前的一些老嵌入式设备也没有完整的 C++ 工具链,也无法编译出 Go/Rust 环境,反而纵观所有语言,Python / Shell 拥有最好的设备兼容性 ...
我自己的嵌入式设备,因为缺少 C 库,无法通过 PIP 安装定时任务的模块,所以我自己写了一套 Python 的单机定时任务库,完全 Py 实现 ...(逃
fengjianxinghun
2023-02-20 18:17:56 +08:00
@monetto 128MB 跑起来 Rust ?证明可能,裸金属现在最好选择就是 c 或者 rust 。这么多 no_std rust 写操作系统的。
fengjianxinghun
2023-02-20 18:18:23 +08:00
@monetto 不要把 go 和 rust 混为一谈
des
2023-02-20 18:31:20 +08:00
@monetto 跑不了 go 还有的说,你说跑不动 rust ?
aladdinding
2023-02-20 18:38:44 +08:00
多开几个 python 进程 0.0
kongkongyzt
2023-02-20 18:54:12 +08:00
Python 没救了说真的。。。
dearmymy
2023-02-20 18:56:22 +08:00
感觉没必要了,还不如把协程弄得优雅点
shijingshijing
2023-02-20 19:01:53 +08:00
没有 GIL 的 Python 不够 Pythonic

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/917597

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX