您的位置:首页 > 编程语言 > Python开发

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

2019-07-30 17:54 1811 查看
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 后端还有许多缺少的功能,这些功能目前使用昂贵的函数调用实现,而不是内联原生指令,可以进行改进。

详情请查看「阅读原文」。

开源中国征稿啦!


开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 400 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。


现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿

推荐阅读

缓存有那么多种,分别是干什么的?

9012年,Linus 终于意识到没什么人在用软盘了

Optional Chaining特性进入Stage 3,TS 跟进

这款数据库将企业版功能100%开源还不收费,why?

微软官方上线 Python 教程

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: