Re: [問題] List擴編的處理速度...
※ 引述《keitheis (無)》之銘言:
: 我是用 Python 2.5.4 內附的 timeit
: Python 2.5.4 (r254:67917, Dec 23 2008, 14:57:27)
: [GCC 4.0.1 (Apple Computer, Inc. build 5363)] on darwin
: 不太了解你說 timeit module 的設計是指?
: 只是我原來的 code 本身就有問題: global is evil XD
你原來的測試碼的問題出在 timeit 並沒有特別對 load module 有額外的處理,
所以你原來的測試碼中 import testit statement 儘管最後是在 for loop 裡執行,
實際上 load module 的動作並不會重複執行。
後來我也在 Mac OS 10.5.6 上測過你原來的測試碼,結果與你原先貼的數據趨勢
差不多,我蠻好奇這是跟 Darwin 的記憶體管理有關,還是跟 CPython for Mac 在
list 的實作上跟 CPython for windows 的實作不同有關?
Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
0.00002140 sec/pass
0.00001898 sec/pass
0.00001813 sec/pass
同一個測試碼我在 Windows XP sp3, 2G ram + Python 2.5.4 跑過,跑到 t3 測試
那一段就會產生記憶體不足的錯誤而終止。如果讓 t1/t2/t3 分別單獨來測試,t2/t3
會比 t1 慢上許多。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.173.139.14
推
04/30 03:02, , 1F
04/30 03:02, 1F
→
04/30 03:09, , 2F
04/30 03:09, 2F
→
04/30 03:10, , 3F
04/30 03:10, 3F
→
04/30 03:10, , 4F
04/30 03:10, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 9 之 9 篇):