Python中統(tǒng)計函數(shù)運行耗時的方法
本文實例講述了Python中統(tǒng)計函數(shù)運行耗時的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
import time
def time_me(fn):
def _wrapper(*args, **kwargs):
start = time.clock()
fn(*args, **kwargs)
print "%s cost %s second"%(fn.__name__, time.clock() - start)
return _wrapper
#這個裝飾器可以在方便地統(tǒng)計函數(shù)運行的耗時。
#用來分析腳本的性能是最好不過了。
#這樣用:
@time_me
def test(x, y):
time.sleep(0.1)
@time_me
def test2(x):
time.sleep(0.2)
test(1, 2)
test2(2)
#輸出:
#test cost 0.1001529524 second
#test2 cost 0.199968431742 second
另一個更高級一點的版本是:
import time
import functools
def time_me(info="used"):
def _time_me(fn):
@functools.wraps(fn)
def _wrapper(*args, **kwargs):
start = time.clock()
fn(*args, **kwargs)
print "%s %s %s"%(fn.__name__, info, time.clock() - start), "second"
return _wrapper
return _time_me
@time_me()
def test(x, y):
time.sleep(0.1)
@time_me("cost")
def test2(x):
time.sleep(0.2)
test(1, 2)
test2(2)
希望本文所述對大家的Python程序設(shè)計有所幫助。
相關(guān)文章
Python集成學(xué)習(xí)之Blending算法詳解
集成學(xué)習(xí)(又稱模型融合)就是結(jié)合若干個體分類器(基學(xué)習(xí)器)進行綜合預(yù)測,各個個體學(xué)習(xí)器通常是弱學(xué)習(xí)器.集成學(xué)習(xí)相較于個體學(xué)習(xí)在預(yù)測準(zhǔn)確率以及穩(wěn)定性上都有很大的提高.文中有非常詳細(xì)的代碼示例哦,需要的朋友可以參考下2021-05-05
Python 查找list中的某個元素的所有的下標(biāo)方法
今天小編就為大家分享一篇Python 查找list中的某個元素的所有的下標(biāo)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
python+requests接口自動化框架的實現(xiàn)
這篇文章主要介紹了python+requests接口自動化框架的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
通過Python腳本+Jenkins實現(xiàn)項目重啟
Jenkins是一個流行的開源自動化服務(wù)器,用于快速構(gòu)建、測試和部署軟件,本文主要介紹了通過Python腳本+Jenkins實現(xiàn)項目重啟,具有一定的參考價值,感興趣的可以了解一下2023-10-10
Python機器學(xué)習(xí)應(yīng)用之基于線性判別模型的分類篇詳解
線性判別分析(Linear?Discriminant?Analysis,?LDA)是一種監(jiān)督學(xué)習(xí)的降維方法,也就是說數(shù)據(jù)集的每個樣本是有類別輸出。和之前介紹的機器學(xué)習(xí)降維之主成分分析(PCA)方法不同,PCA是不考慮樣本類別輸出的無監(jiān)督學(xué)習(xí)方法2022-01-01
Python使用concurrent.futures模塊實現(xiàn)多進程多線程編程
Python的concurrent.futures模塊可以很方便的實現(xiàn)多進程、多線程運行,減少了多進程帶來的的同步和共享數(shù)據(jù)問題,下面就跟隨小編一起了解一下concurrent.futures模塊的具體使用吧2023-12-12

