1. timeit.timeit()方法
python中的timeit()方法, 它用於獲取代碼的執行時間。該庫將代碼語句運行一百萬次,並提供從集合中花費的最短時間。這是一種有用的方法,有助於檢查代碼的性能。
語法如下:
timeit.timeit(stmt, setup,timer, number)
參數解析:
- stmt:這將采用您要測量其執行時間的代碼。默認值為“pass”。
- setup:這將包含需要在stmt之前執行的設置詳細信息。默認值為“ pass”。
- timer:它將具有計時器值,timeit()已經設置了默認值,我們可以忽略它。
- number:stmt將按照此處給出的編號執行。默認值為1000000。
要使用timeit(),我們需要導入模塊,如下所示:
import timeit
以下是timeit()函數的一個簡單示例
import timeit print(timeit.timeit('output = 10*5'))
在python代碼中計時多行
我們可以使用分號或通過將包含在代碼中的代碼保存為帶三引號的字符串來在timeit.timeit()中執行兩行代碼。
示例1:使用分號
import timeit print("The time taken is",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
示例2:使用三引號
import timeit import_module = "import random" test_code = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=test_code, setup=import_module))
2. timeit.repeat()方法
timeit.repeat(stmt,setup,timer,repeat,number):與timeit()相同,但是隨着重復,repeat被稱為重復次數。
import timeit import_module = "import random" test_code = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=test_code, setup=import_module, repeat=5))
為什么timeit()是衡量Python代碼執行時間的最佳方法?
我們認為timeit()是衡量執行時間的最佳方法有以下幾個原因。
它運行代碼語句100萬次,這是默認值,並從中返回最短的時間。還可以通過在time()函數中設置參數數來增加/減少一百萬。在執行測試時,每次按time()函數都會禁用垃圾收集。根據使用的操作系統,timeit()在內部獲取准確的時間。例如,對於Windows操作系統,它將使用time.clock();對於Mac和Linux,它將使用time.time()。