尽管不推荐它们,并且有一个比time (即timeit)更好的模块,但我想知道这两个函数time.clock()和time.time()之间的区别。
从后者(time.time())开始,它基本上以秒为单位返回从01/01/1970 (如果我没有错的话)运行的时间,精度一般为1秒。“在这里很容易。
相反,time.clock()仍然让我感到困惑。从医生那里:
在Unix上,将当前处理器时间返回为以秒表示的浮点数。精度,实际上“处理器时间”的定义,取决于同名的C函数,但无论如何,这是用于基准Python或计时算法的函数。 在Windows上,该函数返回自第一次调用该函数以来经过的时钟秒,该函数是基于Win32函数QueryPerformanceCounter()的浮点数。分辨率通常优于1微秒。
在Windows中,很明显,它所做的一切都是time.time()所做的,只是精度更高。
但在Unix/Linux中,我无法理解。我尝试了以下代码:
import time
def procedure():
time.sleep(2.5)
# measure process time
t0 = time.clock()
procedure()
print(time.clock() - t0, "process time")我得到了5.300000000000096e-05 seconds process time,这对我来说非常重要。
阅读this已经发布的问题,答案是:
..。time.clock()度量当前进程使用的CPU时间量。
但我搞不懂,用现在的时间做什么?当我在Unix上调用time.clock()时,我得到一个浮点数,这在那一瞬间意味着什么?这一过程消耗的时间是多少?去??
发布于 2014-09-10 19:59:13
time.time()返回一个可以解释为当前日期和时间的值。time.clock()返回当前进程使用多少CPU时间的度量。
https://stackoverflow.com/questions/25773901
复制相似问题