python__標准庫 : 測試代碼運行時間(timeit)


用 timeit.Timer.timeit() 方法來測試代碼的運行時間:

from timeit import Timer

def t1():
    li = []
    for i in range(10000):
        li.append(i)

def t2():
    li = []
    for i in range(10000):
        li.insert(0, i)


T1 = Timer("t1()", "from __main__ import t1")
print("append:", T1.timeit(1000))

T2 = Timer("t2()", "from __main__ import t2")
print("insert(0):", T2.timeit(1000))

測試一下append 和 insert 哪一個效率更高, 實例化Timer類時,第一個參數 是字符串類型,表示的是執行函數的語句.

第二個參數是設置,需要 從當前模塊導入一個測試函數. 因為並不是在這個文件中執行的.

調用 timeit() 方法時傳入的參數 1000 指的是測試次數, 即測試函數1000次.

結果: 

>>>append: 1.1107756999126404
   insert(0): 20.437914913455618

append 比 insert 高出許多,因為insert(0, i) 表示從列表開始插入.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM