Re: [資訊] David Beazley 對 GIL 的分析

看板Python作者 (..........)時間14年前 (2010/01/07 21:37), 編輯推噓6(605)
留言11則, 7人參與, 最新討論串2/3 (看更多)
http://www.dabeaz.com/blog/2010/01/python-gil-visualized.html Dave 預定在 PyCon 繼續講 GIL 的話題。 看起來在 cpu bound thread *2 on 2 core 的情況下,GIL會吃掉一整個 core 而 I/O bound thread 則是很難搶到 GIL,latency 爆高。 結論是 python thread 不適合多 core 的環境。阿門。 ※ 引述《yjc1 (..........)》之銘言: : http://www.dabeaz.com/python/GIL.pdf : 摘要: : *. GIL 對 CPU-bound thread 影響甚大 : 我猜會有人提 python 上多為 IO-bound thread 所以沒關係 : *. GIL thread contention / signaling overhead 極大. : *. GIL thread 在 multi-core 上的表現比 single core 的更差 : 也就是核越多就越慢…?!相當違反直覺 : *. GIL code 從 1.5.2 開始到 3.0 約十年間看起來沒動過 : 感想: : 嗯,穩定就好、能動就好…… -- okok, 還有 multiprocessing 這東西可用,只是……王道復古? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.23.102

01/08 02:01, , 1F
python幾乎可以看成只能用single thread的
01/08 02:01, 1F

01/08 16:18, , 2F
GIL簡直是python killer. XD
01/08 16:18, 2F

01/08 17:37, , 3F
N年前就有人做過把GIL拿掉的實驗了, 效能掉到一半不到
01/08 17:37, 3F

01/09 01:26, , 4F
我想問一下jython和IronPython有GIL嗎?
01/09 01:26, 4F

01/09 02:08, , 5F
無,只有cpython/pypy 有。pypy宣稱會拿掉GIL但優先度極低
01/09 02:08, 5F


01/09 14:39, , 7F
我記得好像有在這看到有提到GIL拿掉之類的
01/09 14:39, 7F

01/09 14:39, , 8F
不知道是不是我記錯
01/09 14:39, 8F

01/10 03:11, , 9F
記得之前有實驗過, 拿掉gil multi thread 會變快沒錯
01/10 03:11, 9F

01/10 03:11, , 10F
但single thread 速度變一半... 所以決定不動了
01/10 03:11, 10F

01/11 22:23, , 11F
unladen-swallow 已確定在 merge 回 py3k 前不動 GIL...
01/11 22:23, 11F
文章代碼(AID): #1BHUE1QL (Python)
文章代碼(AID): #1BHUE1QL (Python)