python的timeit模組使用方式

2021-10-06 16:26:07 字數 1679 閱讀 1558

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...