溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何基于python測量代碼運行時間

發布時間:2020-10-06 15:26:54 來源:腳本之家 閱讀:185 作者:程序員的人生A 欄目:開發技術

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

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

timeit 模塊:

timeit 模塊定義了接受兩個參數的 Timer 類。兩個參數都是字符串。 第一個參數是你要計時的語句或者函數。 傳遞給 Timer 的第二個參數是為第一個參數語句構建環境的導入語句。 從內部講, timeit 構建起一個獨立的虛擬環境, 手工地執行建立語句,然后手工地編譯和執行被計時語句。

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

Timer 對象的另一個主要方法是 repeat(), 它接受兩個可選參數。 第一個參數是重復整個測試的次數,第二個參數是每個測試中調用被計時語句的次數。 兩個參數都是可選的,它們的默認值分別是 3 和 1000000。 repeat() 方法返回以秒記錄的每個測試循環的耗時列表。Python 有一個方便的 min 函數可以把輸入的列表返回成最小值,如:
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

2、使用print_func_time

@print_func_time
def test():
print(123)
test()

3、控制臺輸出程序運行時間

123
Total running time: 2.233830763170168e-05 s

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女