Pyston 团队加入 Anaconda 以扩展开源项目开发

我们很高兴地宣布 Pyston 团队已加入 Anaconda,以继续其优化 Python 解释器的开源开发。Kevin Modzelewski 和 Marius Wachtler 将加入 Anaconda 的资助 OSS 开发者团队,与我们 Dask、Numba、Bokeh 和许多其他项目的贡献者并肩工作。

什么是 Pyston?

Pyston 是标准 CPython 解释器(目前为 Python 3.8)的一个分支,它经过了广泛的增强,以提高大多数 Python 程序的执行性能。它通过各种技术来实现这一点,包括属性缓存、Quickening、使用 DynASM(LuaJIT 的著名组件)的字节码 JIT 等等。您可能听说过早期的 Pyston 1.0 项目(由同一批开发者在 Dropbox 开发),该项目于 2017 年结束。新的 Pyston 2.x 系列是对代码库的完全重写,从 CPython 3.8 的分支开始。

Pyston 的目标是成为所有 Python 应用程序的通用加速器,目前在各种 Python 用例中实现了 1.15 倍到 2 倍的加速。

为什么 Anaconda 要聘请 Pyston 团队?

Anaconda 参与 Python 优化、可扩展性和性能项目已经近十年了。Anaconda 最古老的开源项目之一是 Numba 编译器,这是一个基于 LLVM 的 JIT 编译器,用于在 CPU 或 GPU 上运行的数值 Python 函数。因此,我们长期以来一直在考虑 Python 编译器,并且我们看到了 Pyston 快速将更快的 Python 带给主流受众的潜力。

实际上,Pyston 与 Numba 非常互补。Numba 很好地解决了许多数值用例,但无法优化整个程序,也无法解决更广泛的 Python 用例。Pyston 从不同的方向着手解决 Python 编译问题。尽管如此,与 CPython 解释器的共同渊源意味着 Numba 可以“直接”与它一起工作,并且这两个系统可以在同一程序中串联使用。Numba 可以将单个函数的速度提高 2-10 倍(或更多),而 Pyston 可以提高其他一切的性能。我们很高兴看到 Numba 和 Pyston 团队更紧密地合作,未来会实现什么。

我们还认为,Pyston 的一些改进可以向上游回馈到 CPython 中,并且 Pyston 开发者的经验将有助于 微软在未来四年内将 CPython 速度提高 5 倍的努力。同样,Pyston 也将吸收来自上游 CPython 的改进。尽管如此,我们认为 Pyston 有一个独特的机会来突破性能的界限,并探索什么是可能的,而无需考虑像 CPython 这样的大型项目所具有的(完全合理的)约束。

这对 Pyston 意味着什么?

从 Anaconda 的角度来看,我们现在是 Pyston(一个社区开源项目)的利益相关者和赞助商。该项目的维护者(Kevin 和 Marius)将有权对其项目做出独立决策,并在独立于 Anaconda 的情况下发展其用户、贡献者和维护者社区。Anaconda 可能会将 Pyston 纳入当前和未来的产品中,但这项工作将与 Pyston 开源项目分开。

在短期内,我们与 Pyston 团队一致认为,目前最重要的事情是将 Pyston 交到用户手中,以便他们了解其功能并向项目提供反馈。Anaconda 在构建、测试和分发软件方面拥有丰富的工程专业知识和基础设施,这将使更多人在未来更容易尝试 Pyston。

常见问题解答

问:Pyston 的许可证会更改吗?

答:不会。Pyston 将继续使用与 CPython 相同的 PSF 许可证。

问:这是否意味着安装 Pyston 需要安装 Anaconda 或使用 conda?

答:不会。我们希望以尽可能多的方式分发 Pyston。Conda 具有一些显著优势,例如能够下载和安装新的 Python 解释器。不过,我们希望使用户能够使用他们已经熟悉的工具(conda 或其他工具)。

问:Pyston 是否会成为 Anaconda 产品?

答:不会。Pyston 现在是并将继续是一个开源项目。我们未来可能会将 Pyston 纳入 Anaconda 产品,但目前还没有具体的计划要宣布。这些产品将与 Pyston 项目明确区分开来。

问:Anaconda 会为 Pyston 提供商业支持吗?

答:我们目前没有任何要宣布的消息。

问:Pyston 会添加到 Anaconda 软件包发行版中吗?

答:这是我们想要做的事情,但我们目前还没有时间表。

未来

我们对 Pyston 改善所有用户的 Python 体验以及降低大规模部署 Python 应用程序的成本的潜力感到乐观。请密切关注此领域,以获取有关 Pyston 路线图和其他 Anaconda 倡议的未来公告,这些倡议旨在推进 Python 中的可扩展计算。

与专家交流

与我们的专家之一交流,为您的 AI 之旅找到解决方案。

与专家交流