#-*-coding:utf8-*-
import time
print "clock1:%s" % time.clock()
print "clock2:%s" % time.clock()
time.sleep(1)
print "clock3:%s" % time.clock()
運行結果:
clock1:0.0
clock2:0.0
clock3:0.0
代碼2:
import time
print "clock1:%s" % time.clock()
for i in xrange(50000000):
pass
print "clock2:%s" % time.clock()
time.sleep(1)
print "clock3:%s" % time.clock()
運行結果:
clock1:0.0
clock2:3.93
clock3:3.93
原因解釋:
time.clock()是記錄程序cpu的運行時間,代碼1幾乎不佔cpu時間,所以是都是0;而代碼2 for循環會佔用cpu時間,所以clock2:3.93。
不過還有個疑問,爲什麼time.sleep()不算做運行時間呢。
以下是參考某博主的回覆:
time.clock()是返回CPU時間或
線程自啓動以來或從第一次調用clock()到現在的時間。
一般來講測試程序耗時這個是最準確的
知道這個是做什麼的就應該知道了它的初始值確實是0,
當運行程序開始開始計數爲0,一直記錄程序運行的cpu執行時間。
所以,一般來講,如果你time.clock()之前沒有執行什麼耗費CPU時間的程序,那麼time.clock()就爲0
引用地址:http://bbs.csdn.net/topics/350003038