Python 2.x vs 3.x Speed

Col*_*lin 35 python performance

我是博士生,用Python编写我用于研究的代码.我的工作流程通常包括对代码进行小的更改,运行程序,查看结果是否得到改进,以及重复该过程.因此,我发现自己花了更多的时间来等待我的程序运行,而不是实际工作(我知道这是一种常见的经历).我目前在我的系统上使用最新版本的Python 2,所以我的问题是切换到Python 3是否会给我带来任何速度提升.在这一点上,我没有一个令人信服的理由转向Python 3,所以如果执行速度相似,我可能会坚持使用2.x. 我知道我将不得不修改我的代码以使其在Python 3中运行,所以它' 在两个版本上测试它以查看哪个版本运行得更快并不容易.在花费时间将代码更新到Python 3之前,我需要有理由相信我会提高速度.

Bri*_*ian 23

这篇文章(archive.org)说,Python 3.0实际上比Python 2.6慢一些,但我认为其中许多问题已得到解决.话虽这么说,Numpy还没有被带到Python 3.0,而且很多高性能(用c编写)数字功能的东西都隐藏了. 希望它将在2009年底或2010年初准备好.

您不应该将性能视为切换到Python 3的理由; 我认为你不会看到持续的速度提升.

编辑:已经发布了支持Python 3的Numpy版本.

编辑2:这个答案(和这个问题的其他答案)已经过时了.


Khe*_*ben 5

现在,Python 3上的速度或多或少与Python 2相同......如果你正在寻找速度,它不是Python 3与Python 2,而是在其他工具如Psyco,Cython等......

但是,最近,已经出现了合并Unladen Swallow的计划,这是一个用Python 3在Python上实现JIT的Google项目.当然,它不会很快,但是,在某些时候,速度可能会明显增加他们声称已经将速度提高了10%(在Python 2上).他们的目标是将速度提高到5倍.

有关更多信息,请参阅PEP 3146

编辑:正如Brian所言,PEP 3146已退休.