欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2019年12月25日 11:58:38   作者:程序員的人生A  
這篇文章主要介紹了如何基于python測量代碼運行時間,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

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

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

2、使用print_func_time

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

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

123
Total running time: 2.233830763170168e-05 s

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中def()函數(shù)的實戰(zhàn)練習(xí)題

    Python中def()函數(shù)的實戰(zhàn)練習(xí)題

    def是define的縮寫,用來自定義函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python中def()函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • python性能測試手機(jī)號驗證碼登錄壓測示例詳解

    python性能測試手機(jī)號驗證碼登錄壓測示例詳解

    這篇文章主要為大家介紹了python性能測試手機(jī)號驗證碼登錄壓測的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • python使用pyqt寫帶界面工具的示例代碼

    python使用pyqt寫帶界面工具的示例代碼

    本篇文章主要介紹了python使用pyqt寫帶界面工具的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • python  fire庫的使用實例教程

    python  fire庫的使用實例教程

    fire是python中用于生成命令行界面(Command Line Interfaces, CLIs)的工具,不需要做任何額外的工作,只需要從主模塊中調(diào)用fire.Fire(),它會自動將你的代碼轉(zhuǎn)化為CLI,F(xiàn)ire()的參數(shù)可以說任何的python對象,對python fire庫使用感興趣的朋友一起看看吧
    2022-12-12
  • Python根據(jù)當(dāng)前日期取去年同星期日期

    Python根據(jù)當(dāng)前日期取去年同星期日期

    最近做項目,遇到這樣的業(yè)務(wù)開發(fā)需求,需要對比當(dāng)前時間段和去年同星期的時間段的數(shù)據(jù),下面小編通過實例代碼給大家分享Python根據(jù)當(dāng)前日期取去年同星期日期,需要的朋友參考下
    2019-04-04
  • python openpyxl篩選某些列的操作

    python openpyxl篩選某些列的操作

    這篇文章主要介紹了python openpyxl篩選某些列的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python設(shè)計模式之備忘錄模式原理與用法詳解

    Python設(shè)計模式之備忘錄模式原理與用法詳解

    這篇文章主要介紹了Python設(shè)計模式之備忘錄模式原理與用法,結(jié)合實例形式詳細(xì)分析了備忘錄模式的相關(guān)概念、原理及Python相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-01-01
  • Python獲取百度熱搜的完整代碼

    Python獲取百度熱搜的完整代碼

    這篇文章主要介紹了Python獲取百度熱搜的完整代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • Python網(wǎng)絡(luò)編程之TCP與UDP協(xié)議套接字用法示例

    Python網(wǎng)絡(luò)編程之TCP與UDP協(xié)議套接字用法示例

    這篇文章主要介紹了Python網(wǎng)絡(luò)編程之TCP與UDP協(xié)議套接字用法,結(jié)合實例形式較為詳細(xì)的分析了Python網(wǎng)絡(luò)編程中TCP與UDP協(xié)議客戶端、服務(wù)器端相關(guān)實現(xiàn)及使用技巧,需要的朋友可以參考下
    2018-02-02
  • OpenCV圖像處理之自定義濾波

    OpenCV圖像處理之自定義濾波

    濾波處理分為兩大類:線性濾波和非線性濾波,OpenCV里有這些濾波的函數(shù),使用起來非常方便,這篇文章主要給大家介紹了關(guān)于OpenCV圖像處理之自定義濾波的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08

最新評論