跳至内容

Python 编程/PyPy

来自维基教科书,开放的书籍,开放的世界

PyPy 是一个包含即时编译器的 Python 解释器。Python 程序通常可以在 PyPy 上运行而无需修改,但由于某些模块是为 CPython(标准 Python 解释器)制作的,因此并非所有模块都能与 PyPy 兼容。此外,由于 PyPy 在释放分配的对象(包括文件句柄)时的策略不同,因此一些 Python 程序可能会遇到问题。

与 CPython 相比,PyPy 带来的速度提升取决于任务的性质。对于一些计算量大的任务,速度提升因子可以高达 50 倍。PyPy 速度中心报告的几何平均速度提升因子为 7.6,它是根据一组基准测试计算得出的。

PyPy 可用于 Python 2 和 Python 3,但 Python 3 版本速度较慢;上述速度说明适用于 Python 2。

可以交互使用 PyPy:你可以在命令行中输入 "pypy",并像使用 CPython 一样开始与它交互。

PyPy 的输出不能保证与 CPython 完全相同。例如,PyPy 可以以与 CPython 不同的顺序从集合中生成项,因为集合中的项顺序是任意的,并且不能保证在不同的 Python 实现之间相同;为了验证,你可以比较 {1,2}.pop() 的结果。字典也具有任意的键顺序。

只要 PyPy 使用 SSE2 指令集构建,而 CPython 没有,浮点结果在某些设置中可能在 PyPy 和 CPython 之间略有不同。

另请参阅 性能

[编辑 | 编辑源代码]
华夏公益教科书