在Python中,哪个更适合用于计时?time.clock()还是time.time()?哪一个提供了更多的准确性?
例如:
start = time.clock()
... do something
elapsed = (time.clock() - start)
与
start = time.time()
... do something
elapsed = (time.time() - start)
发布于 2008-09-17 17:16:01
简短的答案是:在大多数情况下,time.clock()
会更好。然而,如果你正在计时一些硬件(例如,你放在图形处理器中的一些算法),那么time.clock()
将摆脱这个时间,而time.time()
是唯一剩下的解决方案。
注意:无论使用哪种方法,计时都将取决于您无法控制的因素(进程何时切换,频率如何...),这在time.time()
中更糟,但在time.clock()
中也存在,因此您永远不应该只运行一次计时测试,而是始终运行一系列测试并查看时间的均值/方差。
发布于 2008-09-17 17:18:57
Others的回答是:time.time()
vs. time.clock()
。
但是,如果出于基准测试/性能分析的目的对代码块的执行进行计时,则应该查看timeit
module。
发布于 2008-09-17 17:14:08
clock()
->浮点数
返回自进程开始或第一次调用clock()
以来的CPU时间或实时时间。这与系统记录的精度一样高。
time()
->浮点数
返回当前自纪元起的时间,单位为秒。如果系统时钟提供了分数秒,则可能会出现分数秒。
通常time()
更精确,因为操作系统不会像存储系统时间(即实际时间)那样精确地存储进程运行时间。
https://stackoverflow.com/questions/85451
复制相似问题