首先說一下我遇到的坑,生產上遇到的問題,我調程式設計客棧度python指令碼執行並監控這個程序,python指令碼執行時間遠遠大於python指令碼中自己統計的程式執行時間。
監控python指令碼執行的時間是36個小時,而python指令碼中統計自己執行的時間是4個小時左右。
問題暴漏之後首先想到的是linux出了問題,查詢各種日誌未發現有何異常。
然後是想到python中用到的py2neo的寫資料非同步,阻塞程序執行。
最後,終於找到問題的所在:python指令碼使用統計時間的方式是time.clock(),而這種方式統計的是cpu的執行時間,不是程式的執行時間。
接程式設計客棧下來,就幾種python的統計時間方式對比一下:
www.cppcns.com方法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 = tiwww.cppcns.comme.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執行時間的計算方法小結
本文位址:
幾種Python執行時間的計算方法
首先說一下我遇到的坑,生產上遇到的問題,我排程python指令碼執行並監控這個程序,python指令碼執行時間遠遠大於python指令碼中自己統計的程式執行時間。監控python指令碼執行的時間是 36個小時,而python指令碼中統計自己執行的時間 是4個小時左右。問題暴漏之後首先想到的是linu...
python 程式執行時間的計算方法
一共嘗試了三種方法 datetime.datetime.now 單位 微秒 microseconds,int import datetime starttime datetime.datetime.now do something endtime datetime.datetime.now prin...
幾種Python執行時間的計算方法
感謝 wangshuang1631 首先說一下我遇到的坑,生產上遇到的問題,我排程python指令碼執行並監控這個程序,python指令碼執行時間遠遠大於python指令碼中自己統計的程式執行時間。監控python指令碼執行的時間是36個小時,而python指令碼中統計自己執行的時間是4個小時左右。...