【发布时间】:2010-09-15 06:53:00
【问题描述】:
仅就性能问题而言,Python 3 与 Python 2.x 相比如何?
【问题讨论】:
-
问这个问题两年后,不知道答案是否还是一样。
-
问这个问题七年后,答案还是一样。
标签: python performance python-3.x python-2.x
仅就性能问题而言,Python 3 与 Python 2.x 相比如何?
【问题讨论】:
标签: python performance python-3.x python-2.x
在官方基准测试中,3.0 比 2.5 慢。来自"What’s New in 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..好。
【讨论】:
我认为最终进行这种比较还为时过早。等到它退出测试版后再对其进行基准测试。解释器可能会在发布之前得到极大的改进,但总的来说,我认为对于大多数用途来说,性能是相当的,如果你正在运行一个真正注重速度的应用程序,python 真的是正确的语言吗?
【讨论】:
除非有某种新 VM 的计划(我还没有听说过任何这样的计划),否则有理由相信,从长远来看,Py3K 的性能将至少渐近地相等2.5
这可能需要几个月的时间,但最终会发生,因为 Py3k 的新功能中没有任何东西天生就性能较差。
总而言之,我认为没有地方担心它。也不希望有某种重大改进。
【讨论】:
如果它现在更快,我不认为,但我不得不期待它最终会是,因为新的性能工作将发生在那里,而不是所有这些都将被向后移植。
【讨论】: