Hasty Briefsbeta

双语

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版本并非普遍适用,开发者应评估其工作负载是否适合并行执行。