0

虽然我知道承诺大幅提高速度的项目可能会导致失望,但我看不到加速 CPython 和/或 PyPy 的路线图。

是否有任何计划可以大大提高核心解释器(例如--with-computed-gotos)的速度?他们的标准库(例如C 中的Decimal ,C中的IO)怎么样?

我知道HotPy(2)有一个加速 CPython 的计划大纲,但这听起来像是一个单人项目,在核心 CPython 中没有太大的吸引力。

PyPy 有一些关于性能不是很好的信息,但我在文档中找不到加速的大目标。

那么,是否有已知的目标可以为 Python 实现带来巨大的性能提升?

4

3 回答 3

8

我将回答有关 PyPy 的部分。我不能代表 CPython,但我认为正在进行性能改进(尽管不要引用我的话)。

没有项目计划,因为它真的不是那样工作的。所有主要部分(如“JIT”或“垃圾收集”)基本上都已完成,但这并不意味着一切都很快。肯定有一些事情很慢,我们通常会根据具体情况进行改进 - 如果您认为某些事情太慢,请提交错误报告。我在我的盘子上有很多性能改进,这肯定会有助于扭曲,但我不知道其他的。

可能值得一提的正在处理的大事:

  • 改进的框架,这应该有助于递归和未内联的函数调用(例如包含循环)

  • 更好的字符串实现,适用于各种用途,如连接、切片等。

  • 更快的追踪

  • 更紧凑的元组和对象,存储展开的结果

我能保证什么时候能以什么方式或多少速度加快速度吗?绝对不是,但平均而言,我们设法在发布之间实现 10-30% 的速度改进,通常每 4 个月左右一次,所以我猜有些东西会变得更快,但没有你给我水晶球或时光机,我不会肯定地告诉你。

干杯,菲亚尔

于 2012-03-30T17:45:43.647 回答
3

您的评论掩盖了很多混乱......
PyPy 和 Python 目前具有非常不同的性能能力。
Pypy 目前平均比 CPython 快 5 倍以上。
HotPy 与 CPython 无关。这是一个单人项目,是一个全新的虚拟机(尚未发布,所以我不能说它的性能)。

目前,PyPy 项目中有很多活动,他们每天都在改进它。
有一个 numpy 端口处于非常高级的开发阶段,他们正在改进 ctypes、Cython 兼容性,很快就会有一个完整的 Python3 实现。

我相信 PyPy 目前在性能方面可以与 V8 JavaScript 引擎和类似项目配对。
如果速度和 Python 是你想要的,请关注这个项目。

于 2012-03-29T22:31:53.480 回答
2

答案是 PyPy加速 CPython 的计划。PyPy 的目标是成为一个高度优化的极其一致的 Python 解释器。该项目收集了他们可以找到的所有基准,并为每个 pypy 构建运行所有基准,以确保不会出现性能倒退。看看:http ://speed.pypy.org/

我相信,当 cpython 的性能不再降低时(对于 web 开发工作),pypy 将完全准备好迎接黄金时段。Raymond Hettinger(核心 python 开发人员)将 PyPy 称为“启用了优化的 python”。

于 2012-04-01T23:03:54.217 回答