Re: [問題] List擴編的處理速度...

看板Python作者 (sbr)時間15年前 (2009/04/30 02:32), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串9/9 (看更多)
※ 引述《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
是啊,應該也可以在run_test中加上reload(testit)解決
04/30 03:02, 1F

04/30 03:09, , 2F
但正常應該是不要在 global 中使用 al, bl 的宣告比較
04/30 03:09, 2F

04/30 03:10, , 3F
多打了^^^^
04/30 03:10, 3F

04/30 03:10, , 4F
orz
04/30 03:10, 4F
文章代碼(AID): #19-9qd6Q (Python)
討論串 (同標題文章)
文章代碼(AID): #19-9qd6Q (Python)