Python代碼執(zhí)行時(shí)間測量模塊timeit用法解析
1.timeit模塊
timeit模塊可以用來測試一小段python代碼的執(zhí)行速度
class timeit.Timer(stmt = 'pass',setup = 'pass',timer=<timer function>)
- Timer是測量小段代碼執(zhí)行速度的類
- stmt參數(shù)是要測試的代碼語句(statment);
- setup參數(shù)是運(yùn)行代碼時(shí)需要的設(shè)置;
- timer參數(shù)是一個(gè)定時(shí)器函數(shù),與平臺(tái)有關(guān)(windows,unix,linux,mac)。
timeit.timer(number = 10000)
Timer類中測試語句執(zhí)行速度的對(duì)象方法。number參數(shù)是測試代碼時(shí)的測試次數(shù),默認(rèn)為1000000(一百萬)次。
該方法返回執(zhí)行代碼的平均耗時(shí),是一個(gè)float類型的seconds。
2.使用timeit模塊對(duì)python中l(wèi)ist內(nèi)置操作的時(shí)間復(fù)雜度測算
3.測算代碼塊:
#下面列出list的幾種常用內(nèi)置方法以及l(fā)ist的幾種構(gòu)建方法 #coding:utf-8 #導(dǎo)入timeit模塊 import timeit #t1,以+的方式構(gòu)建列表 ''' li1 = [1,2] li2 = [23,24] li = li1 + li2 #t2,列表生成器 li = [i for i in range(10000)] #t3,將可迭代對(duì)象(range)直接轉(zhuǎn)換成列表 li = list(range(10000)) #t4,先創(chuàng)建一個(gè)空列表,然后用.append方法添加元素 li = [] for i in range(10000): li.append(i) ''' #下面開始測算 #append方法對(duì)空列表添加元素構(gòu)造列表 def t1(): li = [] for i in range(10000): li.append(i) #+的方法構(gòu)造列表 def t2(): li = [] for i in range(10000): li += [i] #列表生成器 def t3(): li = [i for i in range(10000)] #轉(zhuǎn)換可迭代對(duì)象為列表 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('直接轉(zhuǎn)換可迭代對(duì)象:',timer4.timeit(1000))
4.運(yùn)行結(jié)果
+: 0.7415732243125414
append: 0.7872105163322995
列表生成器: 0.3843147415048551
直接轉(zhuǎn)換可迭代對(duì)象: 1.3879485965428984e-05
[Finished in 2.0s]
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python動(dòng)刷新12306火車票的代碼(附源碼)
這篇文章主要介紹了Python動(dòng)刷新12306火車票的完整代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-01-01python實(shí)現(xiàn)帶聲音的摩斯碼翻譯實(shí)現(xiàn)方法
這篇文章主要介紹了python實(shí)現(xiàn)帶聲音的摩斯碼翻譯實(shí)現(xiàn)方法,涉及pygame模塊操作及摩斯碼實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-05-05python3 循環(huán)讀取excel文件并寫入json操作
這篇文章主要介紹了python3 循環(huán)讀取excel文件并寫入json操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07python實(shí)現(xiàn)自冪數(shù)的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)自冪數(shù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03python實(shí)現(xiàn)數(shù)字炸彈游戲程序
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)數(shù)字炸彈游戲程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07