![](/img/trans.png)
[英]Timing a HTTP / database request: time.time() or time.clock()?
[英]Python time.clock() vs time.time() for timing a spawned process
我正在尝试计时从python调用的外部进程的执行时间。 我想给它计时,在这里看到time.clock()是要走的路。 但是我看到与time.time()的结果非常不一致。 我使用time.sleep设置了一个简单的示例来模拟外部过程:
def t1():
t0 = time.clock()
time.sleep(2.5)
return time.clock() - t0
def test_t1():
timings = []
for i in range(100):
timings.append(t1())
print sum(timings)/len(timings)
t2 / test_t2的定义与此类似,但使用time.time()代替time.clock()
>>>test_t1()
5.884e-05
>>>test_t2()
2.49959212065
为什么在这里time.clock如此错误?
编辑:我应该提到我正在MacOSX上运行此测试,并且已部署的代码将在Ubuntu中运行
time.clock()
返回在代码中花费的计算时间; 因为sleep
需要很少的CPU它不会花费太多time.clock
时间。
time.time()
获取实际的实际时差,因此将更容易注意到睡眠。
time.clock()
可能是准确的,但未测量挂钟时间。 在您的机器上,它可能正在测量CPU时间。 由于测试程序几乎将所有时间都花在睡眠上( time.sleep(2.5)
),因此它只占用很少的CPU时间。 time.time()
正在测量挂钟时间。 阅读文档以了解更多;-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.