24

关于性能问题,Python 3 与 Python 2.x 相比如何?

4

6 回答 6

29

在官方基准上,3.0 比 2.5 慢。来自“Python 3.0 的新特性”

3.0 泛化的最终结果是 Python 3.0 运行 pystone 基准的速度比 Python 2.5 慢 10% 左右。最可能的最大原因是删除了小整数的特殊情况。有改进的余地,但会在3.0发布之后发生!

于 2008-10-04T16:29:03.977 回答
7

我会说任何差异都将是微不足道的。例如,遍历一个列表将是完全相同的。

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

确实没有太多可以提高它的性能,虽然我想像垃圾收集和内存管理代码这样的东西会有一些调整,但这不会是“哇,我的数据库统计生成代码完成了一半时间!” 改进——这是你通过改进代码而不是语言得到的!

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

于 2008-10-04T15:29:37.547 回答
5

IO 库已经完全重新设计,新的实现是纯 Python 的。虽然这是一项功能改进,但目前速度要慢得多。用 C 重写大部分新系统的工作正在进行中。有关详细信息,请参阅这些 错误 报告

于 2009-01-27T16:32:06.297 回答
4

我认为最终进行这种比较还为时过早。等到它退出测试版后再对其进行基准测试。解释器可能会在发布之前得到极大的改进,但总的来说,我认为对于大多数用途来说,性能是相当的,如果你正在运行一个真正注重速度的应用程序,python 真的是正确的语言吗?

于 2008-10-04T18:28:55.233 回答
3

除非有某种新 VM 的计划(我还没有听说过任何这样的计划),否则有理由相信,从长远来看,Py3K 的性能将至少渐近地等于 2.5

这可能需要几个月的时间,但最终会发生,因为 Py3k 的新特性中没有任何东西天生就性能较差。

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

于 2008-10-04T18:23:50.610 回答
0

如果它现在更快,我不知道,但我不得不期待它最终会是因为新的性能工作将在那里发生,而不是所有这些都将被向后移植。

于 2008-10-04T16:02:15.607 回答