一尘不染

Python的time.clock()与time.time()的准确性?

python

在Python中使用哪个计时更好?time.clock()或time.time()?哪一个提供更高的准确性?

例如:

start = time.clock()
... do something
elapsed = (time.clock() - start)

start = time.time()
... do something
elapsed = (time.time() - start)

阅读 1123

收藏
2020-02-17

共1个答案

一尘不染

作为3.3,time.clock()已被弃用,并且它建议使用time.process_time()time.perf_counter()来代替。

早于2.7,根据时间模块docs:

time.clock()

在Unix上,以秒为单位返回当前处理器时间,以浮点数表示。精度(实际上是“处理器时间”的含义的确切定义)取决于同名C函数的精度,但是无论如何,这是用于基准化Python或计时算法的函数。

在Windows上,此函数将基于Win32函数QueryPerformanceCounter()返回自第一次调用此函数以来经过的时间(以秒为单位)的浮点数。分辨率通常优于一微秒。

此外,还有用于对代码段进行基准测试的timeit模块。

2020-02-17