如何基于python測量代碼運行時間-創(chuàng)新互聯(lián)

這篇文章主要介紹了如何基于python測量代碼運行時間,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

玉溪網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,玉溪網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為玉溪成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請找那個售后服務(wù)好的玉溪做網(wǎng)站的公司定做!

Python 社區(qū)有句俗語: “python自己帶著電池” ,別自己寫計時框架。 Python3.2具備一個叫做 timeit 的完美計時工具可以測量python代碼的運行時間。

timeit 模塊:

timeit 模塊定義了接受兩個參數(shù)的 Timer 類。兩個參數(shù)都是字符串。 第一個參數(shù)是你要計時的語句或者函數(shù)。 傳遞給 Timer 的第二個參數(shù)是為第一個參數(shù)語句構(gòu)建環(huán)境的導(dǎo)入語句。 從內(nèi)部講, timeit 構(gòu)建起一個獨立的虛擬環(huán)境, 手工地執(zhí)行建立語句,然后手工地編譯和執(zhí)行被計時語句。

一旦有了 Timer 對象,最簡單的事就是調(diào)用 timeit(),它接受一個參數(shù)為每個測試中調(diào)用被計時語句的次數(shù),默認(rèn)為一百萬次;返回所耗費的秒數(shù)。


Timer 對象的另一個主要方法是 repeat(), 它接受兩個可選參數(shù)。 第一個參數(shù)是重復(fù)整個測試的次數(shù),第二個參數(shù)是每個測試中調(diào)用被計時語句的次數(shù)。 兩個參數(shù)都是可選的,它們的默認(rèn)值分別是 3 和 1000000。 repeat() 方法返回以秒記錄的每個測試循環(huán)的耗時列表。Python 有一個方便的 min 函數(shù)可以把輸入的列表返回成最小值,如:
min(t.repeat(3, 1000000))


你可以在命令行使用 timeit 模塊來測試一個已存在的 Python 程序,而不需要修改代碼。


具體可參見文檔: http://docs.python.org/library/timeit.html


1、程序代碼

def print_func_time(function):
'''
計算程序運行時間
: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測量代碼運行時間-創(chuàng)新互聯(lián)
新聞來源:http://muchs.cn/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)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司