就性能问题而言,Python 3 与 Python 2.x 相比如何?

有帮助吗?

解决方案

在官方基准测试中,3.0低于2.5。来自“什么是Python 3.0中的新功能”

  

3.0的最终结果   概括就是Python 3.0   运行pystone基准约10%   比Python 2.5慢。最有可能的   最大的原因是去除   小整数的特殊外壳。   还有改进的余地,但它   将在3.0发布后发生!

其他提示

我想说任何差异都将微不足道。例如,循环列表将完全相同。

Python 3 背后的想法是清理语言语法本身 - 删除诸如 except Exception1, Exception2, ,清理标准模块(没有 urllib、urllib2、httplib 等)。

你真的无能为力来提高它的性能,尽管我想像垃圾回收和内存管理代码这样的东西会有一些调整,但它不会是一个“哇,我的数据库统计生成代码在一半的时间内完成!”的改进 - 这是你通过改进代码而不是语言得到的东西!

实际上,语言的性能无关紧要——所有解释语言基本上都以相同的速度运行。为什么我发现 Python“更快”是因为所有内置模块和易于编写的语法 - 一些东西 在Python3中得到了改进,所以我想从这些方面来说,是的,python3的性​​能比python2.x更好。

IO库已经完全重新设计,新的实现是纯Python。虽然这是功能上的改进,但目前它要慢得多。正在努力用C语言重写大部分新系统。有关详细信息,请参阅这些 bug 报告

我认为最终做出那种比较还为时尚早。在对基准测试进行基准测试之前,请等待测试结束。解释器可能会在发布之前得到极大的改进,但总的来说,我觉得在大多数用途中性能都是可比较的,如果你运行一个非常快速的应用程序,python真的是正确使用的语言吗?

除非有某种新VM的计划(我没有听说过任何此类计划),否则我们有理由相信,从长远来看,Py3K的性能至少会渐近地平等那是2.5

可能需要几个月的时间,但最终会发生,因为Py3k的新功能中没有任何东西本来就不那么高效。

总而言之,我认为没有必要担心它。也不希望某种重大改进。

如果它现在更快,我不会这样做,但我不得不期待它最终会因为这是新的性能工作将会发生的地方而不是所有这些工作都会被后移。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top