這篇文章主要介紹了如何基于python測量代碼運(yùn)行時(shí)間,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
玉溪網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,玉溪網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為玉溪成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的玉溪做網(wǎng)站的公司定做!Python 社區(qū)有句俗語: “python自己帶著電池” ,別自己寫計(jì)時(shí)框架。 Python3.2具備一個(gè)叫做 timeit 的完美計(jì)時(shí)工具可以測量python代碼的運(yùn)行時(shí)間。
timeit 模塊:
timeit 模塊定義了接受兩個(gè)參數(shù)的 Timer 類。兩個(gè)參數(shù)都是字符串。 第一個(gè)參數(shù)是你要計(jì)時(shí)的語句或者函數(shù)。 傳遞給 Timer 的第二個(gè)參數(shù)是為第一個(gè)參數(shù)語句構(gòu)建環(huán)境的導(dǎo)入語句。 從內(nèi)部講, timeit 構(gòu)建起一個(gè)獨(dú)立的虛擬環(huán)境, 手工地執(zhí)行建立語句,然后手工地編譯和執(zhí)行被計(jì)時(shí)語句。
一旦有了 Timer 對(duì)象,最簡單的事就是調(diào)用 timeit(),它接受一個(gè)參數(shù)為每個(gè)測試中調(diào)用被計(jì)時(shí)語句的次數(shù),默認(rèn)為一百萬次;返回所耗費(fèi)的秒數(shù)。
Timer 對(duì)象的另一個(gè)主要方法是 repeat(), 它接受兩個(gè)可選參數(shù)。 第一個(gè)參數(shù)是重復(fù)整個(gè)測試的次數(shù),第二個(gè)參數(shù)是每個(gè)測試中調(diào)用被計(jì)時(shí)語句的次數(shù)。 兩個(gè)參數(shù)都是可選的,它們的默認(rèn)值分別是 3 和 1000000。 repeat() 方法返回以秒記錄的每個(gè)測試循環(huán)的耗時(shí)列表。Python 有一個(gè)方便的 min 函數(shù)可以把輸入的列表返回成最小值,如:
min(t.repeat(3, 1000000))
你可以在命令行使用 timeit 模塊來測試一個(gè)已存在的 Python 程序,而不需要修改代碼。
具體可參見文檔: http://docs.python.org/library/timeit.html
1、程序代碼
def print_func_time(function): ''' 計(jì)算程序運(yùn)行時(shí)間 :param function: :return: ''' @wraps(function) def func_time(*args, **kwargs): t0 = time.clock() result = function(*args, **kwargs) t1 = time.clock() print("Total running time: %s s" % (str(t1 - t0))) return result return func_time
分享名稱:如何基于python測量代碼運(yùn)行時(shí)間-創(chuàng)新互聯(lián)
新聞來源:http://jinyejixie.com/article2/dsicoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、外貿(mào)建站、企業(yè)建站、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、面包屑導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容