首頁  >  文章  >  後端開發  >  使用Python執行時間的計算三種方法程式碼

使用Python執行時間的計算三種方法程式碼

高洛峰
高洛峰原創
2017-03-20 09:22:311574瀏覽

這篇文章主要介紹了Python執行時間的計算方法小結的相關資料,需要的朋友可以參考下

#先說一下我遇到的坑,生產上遇到的問題,我調度Python腳本執行並監控這個進程,python腳本運行時間遠大於python腳本中自己統計的程式執行時間。

監控python腳本執行的時間是36小時,而python腳本中統計自己執行的時間是4個小時左右。

問題暴漏之後首先想到的是Linux出了問題,查找各種日誌未發現有何異常。

接著是想到python中用到的py2neo的寫資料異步,阻塞進程執行。

最後,終於找到問題的所在:python腳本使用統計時間的方式是time.clock(),而這種方式統計的是CPU的執行時間,不是程式的執行時間。

接下來,就幾種python的統計時間方式比較一下:

方法1:

import datetime
starttime = datetime.datetime.now()
#long running
#do something other
endtime = datetime.datetime.now()
print (endtime - starttime).seconds

datetime.datetime.now()取得的是目前日期,在程式執行結束之後,這個方式所獲得的時間值為程式執行的時間。

方法2:

start = time.time()
#long running
#do something other
end = time.time()
print end-start

time.time()取得自紀元以來的目前時間(以秒為單位)。如果系統時鐘提供它們,則可能存在秒的分數。所以這個地方回傳的是一個浮點型類型。這裡取得的也是程式的執行時間。

方法3:

start = time.clock()
#long running
#do something other
end = time.clock()
print end-start

time.clock()傳回程式開始或第一次被呼叫clock()以來的CPU時間。 這具有與系統記錄一樣多的精度。傳回的也是一個浮點型別。這裡獲得的是CPU的執行時間。

註:程式執行時間=cpu時間 + io時間 + 休眠或等待時間

感謝閱讀,希望能幫助大家,謝謝大家對本站的支持!

以上是使用Python執行時間的計算三種方法程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn