Unlocking Python's Cores:Energy Implications of Removing the GIL
2 months ago
- #GIL
- #Python
- #Performance
- Python的全局解释器锁(GIL)阻止了多核并行执行,但Python 3.13引入了实验性的无GIL版本。
- 本研究探讨了移除GIL对执行时间、CPU利用率、内存使用和能耗的影响。
- 对于可并行化的工作负载,无GIL版本使执行时间最多减少4倍,能耗成比例降低,但会增加内存使用量。
- 顺序工作负载在无GIL版本下能耗增加13-43%。
- 频繁访问共享对象的工作负载由于锁竞争,性能提升有限甚至出现下降。
- 能耗与执行时间成正比,表明禁用GIL对功耗没有显著影响。
- 无GIL版本的内存使用量增加,虚拟内存更为明显,这是由对象级锁定和线程安全机制导致的。
- 无GIL版本并非普遍适用,开发者应评估其工作负载是否适合并行执行。