閱讀了一些基準測試後,我發現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