什么perf_counter真的做

时间:2014-09-13 10:58:03

标签: python python-3.x

阅读关于timeit.default_time()的文档(Python 3.4),它说:

  

默认计时器,始终为time.perf_counter()。

但是阅读旧文档(Python 2.7),它说:

  

以特定于平台的方式定义默认计时器。在Windows上,time.clock()具有微秒粒度,但time.time()的粒度是1/60秒。在Unix上,time.clock()具有1/100秒的粒度,而time.time()更精确。

那么,perf_counter()只是做一个选择来保持可移植性吗?我的意思是如果系统是窗口,它返回time.clock(),否则time.time(),以便上面定义的精度等级仍然保持为真,不是吗?

简而言之,perf_counter()如何运作?

1 个答案:

答案 0 :(得分:1)

在Python 2.7和Python之间的某个地方引入了time.perf_counter()。现在timeit.default_time()不再需要为选择最佳时间源而烦恼,因为现在已经在 time 模块中处理了。

在后台time.perf_counter()只调用最好的C API。详细信息在PEP 418中,包括新Python时间API的说明和操作系统的本机时间API。