首先說一下我遇到的坑,生產上遇到的問題,我排程python指令碼執行並監控這個程序,python指令碼執行時間遠遠大於python指令碼中自己統計的程式執行時間。
監控python指令碼執行的時間是
36個小時,而python指令碼中統計自己執行的時間
是4個小時左右。
問題暴漏之後首先想到的是linux出了問題,查詢各種日誌未發現有何異常。
然後是想到python中用到的py2neo的寫資料非同步,阻塞程序執行。
最後,終於找到問題的所在:python指令碼使用統計時間的方式是time.clock(),而這種方式統計的是cpu的執行時間,不是程式的執行時間。
接下來,就幾種python的統計時間方式對比一下:
import datetime
starttime = datetime.datetime
.now()
#long running
#do something other
endtime = datetime.datetime
.now()
print (endtime - starttime).seconds
start = time.time()
#long running
#do something other
end = time.time()
print end-start
start = time.clock()
#long running
#do something other
end = time.clock()
print end-start
幾種Python執行時間的計算方法
感謝 wangshuang1631 首先說一下我遇到的坑,生產上遇到的問題,我排程python指令碼執行並監控這個程序,python指令碼執行時間遠遠大於python指令碼中自己統計的程式執行時間。監控python指令碼執行的時間是36個小時,而python指令碼中統計自己執行的時間是4個小時左右。...
計算執行時間
使用方法 double t double gettickcount do something t double gettickcount t gettickfrequency 所用函式為gettickcount 和gettickfrequency gettickcount 返回cpu自某個時間 如啟...
計算執行時間
import datetime starttime datetime.datetime.now long running endtime datetime.datetime.now print endtime starttime seconds 上例演示了計算執行時間的例子,以秒進行顯示。d1 da...