代码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