Python 的 GIL 消灭了吗?
导读:历史上的GIL特性是为帮助开发者少走弯路的,如今它却成了性能的瓶颈。在最新的Python中,有意想把它拿下,但是又谈何容易,包括遗留代码,与其它新特性的权衡。
我们回到2003的年初,中央处理器芯片厂商英特尔推出了新款Pentium 4“HT”处理器。该处理器的主频为 3 GHz,并具有当时先进的“超线程”技术。
在接下来的几年里,英特尔和 AMD 通过提高总线速度、二级缓存大小和减小芯片尺寸,以最大限度地减少延迟,来实现最佳台式计算机的性能。
3Ghz HT 于 2004 年被主频高达 4 GHz 的“Prescott”型号 580 取代。似乎获得更好性能的道路是更高的时钟速度,但 CPU 却受到高功耗与地球变暖的热量输出困扰。
现在你的台式机中还有 4Ghz CPU 吗?估计不太可能了,因为提高性能的方法是更高的总线速度和多核心。Intel Core 2 于 2006 年取代了 Pentium 4,但时钟速度要低得多。
除了消费级多核 CPU 的发布之外,2006 年还发生了一件事情:Python 2.5 发布!它捆绑了开发者熟悉并喜爱的 with 语句的测试版。
当使用 Intel 的 Core 2 或 AMD 的 Athlon X2 时,当时的Python 2.5 有一个主要限制,那就是GIL。