皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

高性能 Python 解释器 PyPy 支持 AArch64 架构

PyPy 官方宣布支持 AArch64 架构,它将 PyPy 的高性能 JIT 带入 AArch64 平台,也就是 64 位 ARM。现在 PyPy 一共支持 6 种架构,分别是 x86(32 和 64 位)、ARM(32 和 64 位)、PPC64 与 s390x。

PyPy 是一个兼容性强大的 Python 解释器,几乎是 CPython 2.7 与 3.6 的直接替代品。由于其集成的 JIT 编译器,速度很快,为了展示新 PyPy 的性能,此次官方公告中也进行了一次速度测试,如上图所示,在一组基准测试中比较了 PyPy 与 CPython 的性能,同时对比 x86_64 架构上 PyPy 的结果。

图中显示了 AArch64(hg id 2417f925ce94)上与 CPython(2.7.15)相比 PyPy 的速度提高,以及 x86_64 Linux 笔记本电脑上最新版本 PyPy 7.1.1 和 CPython 2.7.16 相比的速度。结果显示在大多数基准测试中,AArch64 上实现的加速与 x86_64 笔记本电脑上实现的加速效果相当。AArch64 上的 PyPy 相比 CPython 有 0.6x 到 44.9x 的加速,x86_64 上是 0.6x 到 58.9x。

需要注意的是,这里显示的结果是在 AWS 的 Graviton A1 机器上测量的,Graviton A1 是虚拟机,因此不适合进行基准测试。此外,此基准套件并不能够反映平均水平。

下面的图片比较了在 AArch64 与 x86_64 上实现的加速差距,也就是考察 PyPy 在 AArch64 上性能相比 x86_64 提高多少,它可以粗略地了解新移植版本 PyPy 的能力。

有三种结果:运行速度差不多、运行速度提高 2 倍,以及速度为 x86_64 的 0.5 倍。

官方表示该版本还有许多改进的空间,AArch64 带有大量的 CPU 寄存器,PyPy 后端是用 x86(32 位变体)编写的,它的寄存器数量非常少。官方认为可以在机器码方面进行改进,这可能对 AArch64 的影响大于对 x86_64 的影响。此外 AArch64 后端还有许多缺少的功能,这些功能目前使用昂贵的函数调用实现,而不是内联原生指令,可以进行改进。

详情查看:

https://morepypy.blogspot.com/2019/07/pypy-jit-for-aarch64.html

转自 https://www.oschina.net/news/108600/pypy-jit-for-aarch64

分享到:更多 ()