2014 年,Python 兑现 Pyston 诞生。Pyston 的开发目标是开发高功能 Python 兑现,使 Python 跻身 C++ 等传统系统级语言主导的领域。
Pyston 最初是由 Dropbox 推出的基于 JIT 的 Python 兑现。Pyston 解析 Python 代码,并转换到 LLVM 中间表示(IR),然后 IR 通过 LLVM 优化器和 LLVM JIT 引擎,得到可执行的机器码。
六年过去,10 月 28 日 Pyston 团队发布了最新版本——Pyston v2。
Pyston v2:比 Python 快 20%
据官方介绍,在宏基准尝试上 Pyston v2 比 Python 3.8 快了 20%。除了速率快,Pyston v2 还可以降低服务器成本,减少用户等待时间,提高开发生产力。
此外,Pyston v2 易于安排。如果想获得更好的 Python 功能,只需花很少的时间就可以尝试安排 Pyston。
功能
Pyston v2 在许多职业负载上的速率有明显提升。开发者的研究重点一直放在 Web 服务器职业负载上,但 Pyston v2 在其他职业负载和常见基准上速率也更快。
开发团队整理了一个新的公开 Python 宏基准尝试套件,该套件可测量多个常用 Python 项目的功能。
Pyston v2 在微基准尝试上也显示出功能减速。在 chaos.py 和 nbody.py 等尝试中,其速率是标准 Python 的 2 倍。
在目标基准 (djangocms + flaskblogging) 上,Pyston v2 兑现了平均耽误 1.22x 减速、p99 耽误 1.18x 减速,并且每个过程应用的内存仅多了几 MB。
技术方法
Pyston v2 应用的技术包括:
利用 DynASM 的低开销 JIT;
Quickening;
通用 CPython 优化;
建立过程提升。
兼容性
由于 Pyston 是 CPython 的分支,因此开发团队认为 Pyston 是目前兼容性最强的 Python 兑现。它支持 CPython 拥有的所有特性和 C API。
理论上,Pyston 与 CPython 具备同样的功能,但在实践中任何新的 Python 兑现都会遇到一些暂时的兼容问题。详情参见:https://github.com/pyston/pyston/wiki。
可用性
Pyston v2.0 可作为预置软件包立即可用。目前,Pyston v2.0 已具备适用于 Ubuntu 18.04 和 20.04 x86_64 的包。
Pyston 的试用较为简单,安装软件包,将 python3 替换成 pyston3,然后应用 pip-pyston3 install 重新安装依赖项。在已有自动建立设置时,这一改变只需几行即可完成。
Pyston 团队表示,计划未来将代码开源,但由于编译器项目成本高昂且没有赞助,因此目前该项目仍是闭源的,但 Pyston v1.0 的源代码是开放的。
原文链接: