内容简介:PyPy官方宣布支持 AArch64架构,它将PyPy的高性能JIT带入AArch64平台,也就是64位ARM。现在PyPy一共支持6种架构,分别是x86(32和64位)、ARM(32和64位)、PPC64与 s390x。
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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。