阅读了一些基准测试后,我发现python 3.1比python 2.6慢,尤其是I/O。为什么我应该使用python 3.1而不是python 2.6?
所以我想知道可能是什么原因切换到Python 3.x?
阅读了一些基准测试后,我发现python 3.1比python 2.6慢,尤其是I/O。为什么我应该使用python 3.1而不是python 2.6?
所以我想知道可能是什么原因切换到Python 3.x?
很大程度上是因为新的I/O库。然而,这已经被Python 3.2和2.7中的C完全重写了。如果您将其与3.2进行比较,我认为现在的演出数字相当接近。
编辑:我困惑了版本号。没关系。
C中的I/O库实现是3.1中的一个特性,而不是3.2(http://docs.python.org/ py3k/whatsnew/3.1.html#优化)。 – 2010-08-10 17:10:45
转到3.1。除非你的代码是运行一次的(几乎从不是)。 2.6没有未来,第3版是未来,除非你有时间旅行。
他们正在3.1上工作,我可以向你保证速度很快会达到标准,然后超过2.6速度。
不确定我喜欢告诉他去3.x而不提及像第三方模块和扩展那样仍然存在的限制,以及目前未能将3.x的WSGI标准化。 – 2010-08-10 17:18:25
或2.7出于兼容性原因。它接近3.x. – Santa 2010-08-10 17:37:27
Python 3确实也引入了一些新的语言功能。我最喜欢的是新nonlocal
关键字,最终让你写某些封闭很好,比如:为什么是Python的3.0(或更高版本)更好]
def getter_setter(): x = 0 def getter(): return x def setter(val): nonlocal x x = val return (getter, setter)
的可能重复(HTTP://计算器。问题/ 3384361/why-python-3-0-later-better) – dan04 2010-08-10 16:25:05