看板 Python 關於我們 聯絡資訊
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
Lucemia:python幾乎可以看成只能用single thread的 01/08 02:01
huggie:GIL簡直是python killer. XD 01/08 16:18
AndCycle:N年前就有人做過把GIL拿掉的實驗了, 效能掉到一半不到 01/08 17:37
ya790206:我想問一下jython和IronPython有GIL嗎? 01/09 01:26
yjc1:無,只有cpython/pypy 有。pypy宣稱會拿掉GIL但優先度極低 01/09 02:08
StubbornLin:http://code.google.com/p/unladen-swallow/ 01/09 14:39
StubbornLin:我記得好像有在這看到有提到GIL拿掉之類的 01/09 14:39
StubbornLin:不知道是不是我記錯 01/09 14:39
Lucemia:記得之前有實驗過, 拿掉gil multi thread 會變快沒錯 01/10 03:11
Lucemia:但single thread 速度變一半... 所以決定不動了 01/10 03:11
wawawa:unladen-swallow 已確定在 merge 回 py3k 前不動 GIL... 01/11 22:23