什么时候可以干掉 GIL 啊,场景里同时有 CPU 和 IO 密集,多线程能用多核多好哎!

2019-10-09 16:27:20 +08:00
 wuwukai007
2874 次点击
所在节点    Python
8 条回复
wuwukai007
2019-10-09 16:28:03 +08:00
开个 30 的线程池,开销估计都抵不上一个进程
lolizeppelin
2019-10-09 16:28:29 +08:00
有 CPU 密集建议写到 c 里或者换语言
python 太慢不适合
yuankui
2019-10-09 16:35:09 +08:00
gogogo
haon
2019-10-09 17:06:21 +08:00
多进程走起
retanoj
2019-10-09 17:11:39 +08:00
多进程啊
要不就换语言呗
janxin
2019-10-09 17:12:20 +08:00
www.python.org/dev/peps/pep-0554 参考下这个 PEP 的进度,3.9 会支持多 runtime 的基础模式,按照这个进度,应该是 2-3 个版本可以实现一个进程内的多 runtime 并行执行,也就达到充分利用多核的目的了

www.youtube.com/watch?v=7RlqbHCCVyc
wuwukai007
2019-10-09 17:19:40 +08:00
有些 pandas 做的数据分析的脚本,但是里面读库,在 pandas 操作,我如果开多进程的话,占内存,应为 python 多进程不能共享 DataFrame 对象,Manager 不支持 pandas 对象,所以进程不能多开,如果没有 GIL 的话,我开 30 的线程池,不占内存,有快
wangyzj
2019-10-09 23:35:44 +08:00
为啥非得用一种语言解决

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

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

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

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

© 2021 V2EX