Python代碼執行時間測量模塊timeit用法解析
1.timeit模塊
timeit模塊可以用來測試一小段python代碼的執行速度
class timeit.Timer(stmt = ’pass’,setup = ’pass’,timer=<timer function>)
Timer是測量小段代碼執行速度的類 stmt參數是要測試的代碼語句(statment); setup參數是運行代碼時需要的設置; timer參數是一個定時器函數,與平臺有關(windows,unix,linux,mac)。timeit.timer(number = 10000)
Timer類中測試語句執行速度的對象方法。number參數是測試代碼時的測試次數,默認為1000000(一百萬)次。該方法返回執行代碼的平均耗時,是一個float類型的seconds。
2.使用timeit模塊對python中list內置操作的時間復雜度測算
3.測算代碼塊:
#下面列出list的幾種常用內置方法以及list的幾種構建方法#coding:utf-8 #導入timeit模塊 import timeit #t1,以+的方式構建列表 ’’’li1 = [1,2] li2 = [23,24] li = li1 + li2 #t2,列表生成器 li = [i for i in range(10000)] #t3,將可迭代對象(range)直接轉換成列表 li = list(range(10000)) #t4,先創建一個空列表,然后用.append方法添加元素 li = [] for i in range(10000):li.append(i)’’’#下面開始測算 #append方法對空列表添加元素構造列表def t1():li = []for i in range(10000):li.append(i)#+的方法構造列表def t2():li = []for i in range(10000):li += [i]#列表生成器def t3():li = [i for i in range(10000)]#轉換可迭代對象為列表def t4():li = list(range(10000)) timer1 = timeit.Timer(’t1()’,’from __main__ import t1’)print(’+:’,timer1.timeit(1000)) timer2 = timeit.Timer(’t2()’,’from __main__ import t2’)print(’append:’,timer2.timeit(1000)) timer3 = timeit.Timer(’t3()’,’from __main__ import t3’)print(’列表生成器:’,timer3.timeit(1000)) timer4 = timeit.Timer(’t4’,’from __main__ import t4’)print(’直接轉換可迭代對象:’,timer4.timeit(1000))
4.運行結果
+: 0.7415732243125414append: 0.7872105163322995列表生成器: 0.3843147415048551直接轉換可迭代對象: 1.3879485965428984e-05[Finished in 2.0s]
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: