python time.clock()不变的原因

本文详细解析Python内置函数time.clock()的工作原理,通过两个实例展示其如何记录程序的CPU运行时间,并解释了为何time.sleep()不计入运行时间。深入探讨了该函数在评估程序性能时的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码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.youkuaiyun.com/topics/350003038



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值