timeit模組中主要通過兩個函式來測試**的執行時間,timeit(),和repeat()。
def
timeit
(stmt=
"pass"
, setup=
"pass"
, timer=default_timer,
number=default_number,
globals
=none):
"""convenience function to create timer object and call timeit method."""
return timer(stmt, setup, timer,
globals
).timeit(number)
defrepeat
(stmt=
"pass"
, setup=
"pass"
, timer=default_timer,
repeat=default_repeat, number=default_number,
globals
=none):
"""convenience function to create timer object and call repeat method."""
return timer(stmt, setup, timer,
globals
).repeat(repeat, number)
在使用timeit模組時,可以直接使用timeit.timeit()、tiemit.repeat(),還可以先用timeit.timer()來生成乙個timer物件,然後再用timer物件用timeit()和repeat()函式,後者再靈活一些。
直接使用timeit.timeit()
t = timeit.timeit(stmt=
"get_list()"
,setup=
"from __main__ import get_list"
, number=1)
print
(t)
先用timeit.timer()生成timer物件
timer1 = timeit.timer(
"get_list()"
, setup=
"from __main__ import get_list"
)print
(timer1.timeit(number=3)
)
其中引數表示:
stmt:用於傳入要測試時間的**,可以直接接受字串的表示式,也可以接受單個變數,也可以接受函式。傳入函式時要把函式申明在當前檔案中,然後在 stmt = 『func()』 執行函式,然後使用 setup = 『frommainimport func』
setup:傳入stmt的執行環境,比如stmt中使用到的引數、變數,要匯入的模組等。可以寫一行語句,也可以寫多行語句,寫多行語句時要用分號;隔開語句。
number:要測試的**的執行次數,預設100000次,對於耗時的**,執行太多次會比較慢,此時建議自己修改一下執行次數
repeat:指測試要重複幾次,每次的結果構成列表返回,預設3次。
參考
python模組之timeit模組
timeit模組用來測量函式執行時間,通過實際 學習怎樣應用timeit模組 fromtimeitimport print timeit x 7 print timeit x 7 number 1000000 print timeit x 7 number 1000000 print 上面三個列印說...
python計時模組 timeit
timeit模組 測試乙個列表推導式與for迴圈的時間 import timeit foooo sum for i in range 1000 print timeit.timeit stmt i for i in range 1000 number 100000 print timeit.time...
python中計時工具timeit模組的基本用法
想測試一行 的執行時間,在python中比較方便,可以直接使用timeit 看個例子吧 import timeit 執行命令 t2 timeit.timer x range 1000 顯示時間 t2.timeit 10.620039563513103 執行命令 t1 timeit.timer sum...