【发布时间】:2019-02-01 00:22:33
【问题描述】:
我正在使用时间模块测量函数的响应时间。时间模块应该将秒输出为浮点数,因此我保存了开始时间值 (time.clock()) 并在最后读取另一个读数,并将差值用作运行时。在查看结果时,我们注意到运行时间似乎很高——例如,似乎需要不到 2 秒的时间,打印为 3-and-change。基于感知到的问题,我决定使用 datetime 模块仔细检查结果。并排打印两个显示时间模块值几乎是日期时间值的两倍。
有人知道为什么会这样吗?
这是我的代码:
for datum in data:
start = datetime.datetime.now()
startts = time.clock()
check = test_func(datum)
runtime = datetime.datetime.now() - start
runts = time.clock() - startts
print(check, "Time required:", runtime, "or", runts)
我的一些结果:
XYZ Time required: 0:00:01.985303 or 3.7836029999999994
XYZ Time required: 0:00:01.476289 or 3.3465039999999817
XYZ Time required: 0:00:01.454407 or 3.7140109999999993
XYZ Time required: 0:00:01.550416 or 3.860824000000008
我假设以前会注意到这类问题,但我只是在我的实现中遗漏了一些基本的东西。有人能帮我介绍一下吗?
【问题讨论】: