什么是 PyPy?¶
历史上,PyPy 被用来表示两种含义。第一个是 RPython 翻译工具链,用于生成动态编程语言的解释器。第二个是使用它生成的 Python 的一个特定实现。由于 RPython 使用与 Python 相同的语法,因此这个生成的版本被称为用 Python 编写的 Python 解释器。它旨在灵活易于实验。
为了更清楚起见,我们从用 RPython 编写的源代码开始,应用 RPython 翻译工具链,最终得到 PyPy 作为二进制可执行文件。这个可执行文件就是 Python 解释器。
双重用法已被证明令人困惑,因此我们不再使用 PyPy 来表示工具链和生成的解释器。现在我们使用 PyPy 来指代 Python 实现,并在需要指代框架时明确提及 RPython 翻译工具链。
一些较旧的文档、演示文稿、论文和视频仍然使用旧的用法。在此提醒您注意。
我们通过提供一个可以生成自定义 Python 版本的编译器工具套件,来针对各种平台(小型和大型)进行目标定位。平台、内存和线程模型,以及 JIT 编译器本身,都是翻译过程的一部分——而不是将低级细节编码到语言实现本身。
有关更多详细信息,请查看我们的 架构概述。