python time.clock()不變的原因

代碼1:
#-*-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



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章