你不应该使用time.clock()
:
在 Unix 上,以浮点数形式返回当前处理器时间,以秒为单位。精度,实际上是“处理器时间”含义的定义,取决于同名 C 函数的精度,但无论如何,这是用于对 Python 或计时算法进行基准测试的函数。
在 Windows 上,此函数根据 Win32 函数 QueryPerformanceCounter() 以浮点数形式返回自第一次调用此函数以来经过的挂钟秒数。分辨率通常优于一微秒。
而是使用time.time()
:
以浮点数形式返回自纪元以来的时间(以秒为单位)。请注意,尽管时间始终以浮点数形式返回,但并非所有系统都提供比 1 秒更好的时间精度。虽然此函数通常返回非递减值,但如果系统时钟已在两次调用之间调回,则它可以返回比先前调用更低的值。
更简单地说:第一次调用time.clock()
它会启动一个计时器,每次后续调用time.clock()
都会产生自第一次调用以来的时间。而使用time.time()
将始终为您提供自纪元以来的时间。
澄清一下,time.clock()
是一种相对时间测量方法,相对于您第一次使用该方法开始计时的时间time.clock()
,而使用该方法时,time.time()
您每次都会获得自纪元以来的秒数。
在这两种方法中,您都可以很容易地推断出它们之间的差异,但是time.clock()
当需要更复杂的时间测量时,使用可能会产生无法预料的后果,例如多个线程或必须相互通信的不同功能 - 如果它们都相对于他们自己,很难让事情保持不变。