PyPy和CPython:是否计划大幅提升性能?

时间:2012-03-29 21:56:03

标签: python performance jit pypy

虽然我知道承诺大幅提升速度的项目可能会让人失望,但我并没有看到加速CPython和/或PyPy的路线图。

是否有计划的东西可以为其中任何一个核心翻译(例如--with-computed-gotos)带来巨大的速度提升?他们的标准库怎么样(例如Decimal in CIO in C)?

我知道HotPy(2)概述了加速CPython的计划,但这听起来像是一个单人项目,在核心CPython中没有多少牵引力。

PyPy有some information关于性能不佳的地方,但我发现文档中的加速没有大的目标。

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

3 个答案:

答案 0 :(得分:9)

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

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

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

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

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

  • 更快的追踪

  • 更紧凑的元组和对象,存储未包装的结果

我可以保证什么时候会加快速度?绝对不是,但平均而言,我们设法将释放速度提高10-30%,这通常是每4个月左右一次,所以我想有些东西会变快,但是没有你给我一个水晶球或者时间机器,我不会肯定地告诉你。

干杯, fijal

答案 1 :(得分:3)

你的评论相当混乱...... PyPy和Python目前具有非常不同的性能 Pypy目前平均比CPython快5倍以上 HotPy与CPython无关。这是一个单人项目,它是一个全新的VM(尚未发布,所以我不能说它的性能)。

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

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

答案 2 :(得分:2)

答案是PyPy 计划加速CPython。 PyPy旨在成为一个非常符合要求的python解释器,它经过高度优化。该项目收集了他们可以找到的所有基准,并为每个pypy构建运行所有这些基准,以确保不会出现性能回归。看看:http://speed.pypy.org/

我相信,当cpython的表现不再削减它时(对于网络开发工作),pypy将完全准备好迎接黄金时段。 Raymond Hettinger(一个核心python开发人员)称PyPy为“python并启用了优化”。