切换到宽版

中国黑防联盟

查看: 331|回复: 10

Pyston v2.0 发布,速度比 Python快20%!

[复制链接]
发表于 2020-11-9 16:03:11 | |阅读模式
1000.jpg
作者 |Kevin Modzelewski
译者 | 弯月,责编 | 杨碧玉
头图 | CSDN 下载自东方 IC
出品 | CSDN(ID:CSDNnews)
以下为译文:
首先,请允许我隆重地宣布 Pyston v2 发布。Pyston v2 是 Python 编程语言的一种更快且高度兼容的实现。在我们的宏基准测试中,Pyston v2 比原版的 Python 3.8快20%。更重要的是,在你的代码上,它可以更快。Pyston v2 可以降低服务器成本,减少用户延迟,并提高开发人员的生产力。
Pystonv2 的部署非常简单,因此如果你希望获得更好的 Python 性能,那么我们建议你花五分钟时间尝试一下 Pyston。使用 Pyston v2 是最简单的加快项目速度的方法之一。
性能
Pystonv2 在许多工作负载上均提供了显著的速度提升,同时鲜有弊端。我们的工作重点一直放在 Web 服务工作负载上,但是 Pyston v2 在其他工作负载和流行的基准测试上也实现了更高的速度。
我们的团队整理了一份全新的公共 Python 宏基准测试套件,该套件可测量多个常用 Python 项目的性能。该套件中的基准规模超过了其他 Python 套件,因此可以更真实地代表实际的应用程序。尽管这导致我们的项目不如其他项目那样受人关注,但我们相信这个测试套件展示了 Pyston v2 在面对实际用例时可以更好地提升速度。Pyston v2 在宏基准测试上展示了性能的提升,在 chaos.py 和 nbody.py 等的测试中,其速度是标准 Python 的两倍。
下面是我们的性能测试结果:
上述结果是在运行了 Ubuntu 20.04 的 m5.large EC2 实例上收集的。
预热时间的定义为基准达到峰值性能的95%之前的时间。如果无法与噪声区分开,则用“n/a”表示。我们的延迟测试仅考虑预热后的行为。
mypy 和 PyTorch 不支持利用源代码自动构建 C 扩展名,因此这些 Pyston 的测试结果使用了不安全的兼容模式。
我们对 PyPy 基准套件进行了修改,使其仅运行与 Python 3.8兼容的基准。
结果分析
在我们的目标基准测试(djangocms + flaskblogging)中,Pyston v2 的平均延迟平均提高了1.22倍,p99 延迟平均提高了1.18倍,同时每个进程仅使用了几兆字节。我们尚未优化其他基准。
p99 延迟指的是响应时间分布的第99个百分位,是 Web 服务中的常用指标,它可以表示用户体验到的平均延迟。PyPy 在 djangocms 上的高p99延迟来自周期性的延迟峰值,大概是由于垃圾收集暂停导致的。CPython 和 Pyston 都表现出周期性的峰值,大概是由于它们的周期收集器引起的,但是它们的频率较低且幅度较小。
mypy 和 PyTorch 基准显示了 Pyston v2 的自然边界。这些基准测试都大部分都是在 C 扩展中完成的,这些扩展不受我们的 Python 加速影响。我们支持 C API,而且没有模拟层,因此我们可以进一步少量提升 mypy 性能,并且不会降低 pytorch 或 numpy 的性能。具体的收益取决于 Python 和 C 扩展的混合程度。
技术方法
我们在 Pyston v2 中使用的技术包括:
使用DynASM开销非常低的JIT
Quickening
常规的 CPython 优化
建立改进流程
兼容性
由于 Pyston 是 CPython 的分支,因此我们认为它是兼容性最高的 Python 实现之一。它支持 CPython 所有的功能以及 C API。
尽管从理论上来说 Pyston 的功能相同,但实际上,任何新的 Python 实现都存在或多或少的兼容性难题。
可用性
Pystonv 2.0可作为预编译包立即使用。当前,我们提供适用于 Ubuntu 18.04 和 20.04 x86_64 的软件包。
Pyston 的试用只需安装软件包即可,用 pyston3 替换 python3,然后用 pip-pyston3install 重新安装依赖项。如果你有现成的自动构建,则只需修改几行代码。
背景
我们在 Dropbox 设计了 Pyston v1,目的是加快其 Python 的 Web 服务工作量。项目结束后,我们团队中的一些人集思广益,集中讨论了如何采用不同的方式构建 Pyston。Pyston v2 的灵感来自 Pyston v1,但技术却与v1没有关系。
我们的使命是打造更快的 Python,而且我们有很多实现思路。请继续关注将来的版本,如果有任何疑问,请与我们联系!

永远支持中国黑防联盟论坛:www.vcs6.com
发表于 2021-3-26 15:21:10 |
果断MARK,前十有我必火!
永远支持中国黑防联盟论坛:www.vcs6.com
发表于 2021-4-13 00:31:26 |
本人正在闭关渡劫,飞升之后回复。
永远支持中国黑防联盟论坛:www.vcs6.com
发表于 2021-4-29 02:19:49 |
膜拜神贴,后面的请保持队形~
永远支持中国黑防联盟论坛:www.vcs6.com
发表于 2021-5-10 02:11:51 |
这个确实厉害了,感谢楼主分享
永远支持中国黑防联盟论坛:www.vcs6.com
发表于 2021-6-15 07:25:51 |
不错,又占了一个沙发!
永远支持中国黑防联盟论坛:www.vcs6.com
发表于 2021-6-28 21:43:43 |
感谢分享,先尝试一下
永远支持中国黑防联盟论坛:www.vcs6.com
发表于 2021-7-2 12:15:51 |
感谢分享,有用!
永远支持中国黑防联盟论坛:www.vcs6.com
发表于 2021-8-20 04:17:50 |
我不太喜欢回消息,感觉我上辈子就是个免打扰。
永远支持中国黑防联盟论坛:www.vcs6.com
发表于 2021-10-7 15:56:43 |
跟我熟的人,请自动忽略此条回复。
永远支持中国黑防联盟论坛:www.vcs6.com
关闭

站长推荐上一条 /1 下一条

手机版|小黑屋|网站地图|( 蜀ICP备2020029785号 )

快速回复 返回顶部 返回列表