关于 Python 3.13 你需要了解的一切——JIT 和 GIL 正在上坡

上 2ND 2024年10月,Python核心开发者和社区将发布 CPython v3.13.0 – 这真是太棒了。 (更新:现已发布 推回到7th 十月.) 那么是什么让这个版本与众不同,为什么你应该关心它呢? 简而言之,Python 在核心级别的运行方式发生了两项重大变化,这有可能从根本上改变未来 Python 代码的性能状况。 这些变化是: CPython 的“自由线程”版本,允许您禁用全局解释器锁 (GIL),以及 支持实验性即时 (JIT) 编译。 那么这些新功能是什么以及它们会对您产生什么影响? # 全局解释器锁 (GIL) # 什么是 GIL? 自 80 年代末 Guido Van Rossum 在东阿姆斯特丹的一个科技园创立 Python 编程语言以来,它就被设计和实现为一种单线程解释语言。这究竟意味着什么? 您通常会听说有两种类型的编程语言:解释型和编译型。那么Python是哪个呢?答案是: 是的。 您很少会找到一种纯粹由解释器从源代码解释的编程语言。对于解释型语言,人类可读的源代码几乎总是被编译成某种中间形式,称为字节码。然后解释器查看字节码并一一执行指令。 这里的“解释器”通常被称为“虚拟机”,特别是在其他语言中,例如 Java,它与 Python 做同样的事情。 Java字节码 和 Java虚拟机。在爪哇和 朋友们,更常见的是发送编译后的字节码本身,而 Python 应用程序通常作为源代码分发(尽管如此,包通常部署为 轮子 也 sdist 如今)。 […]