【问题标题】:Python: time.clock() does not match real execution timePython:time.clock() 与实际执行时间不匹配
【发布时间】:2017-12-08 22:37:52
【问题描述】:

我正在测试 python 脚本的执行时间。 脚本以

开头
from time import clock
print clock()

结尾
print clock()

我的脚本执行时间比我使用此方法获得的时间差要长得多。我想知道为什么会这样?处理器时间的计算方式是否与我认为的不同?

感谢您的建议!

【问题讨论】:

  • 你测量的持续时间是多少,时钟返回了什么? (出于好奇)
  • time.clock() 应该是你的程序在 CPU 中运行的时间,所以举个简单的例子,假设你正在打开一个文件,@987654326 不会报告 I/O 延迟@。此功能也已从 3.3 中弃用,请参阅 docs.python.org/3/library/time.html#time.clock
  • 谢谢!我是文档中让我感到困惑的“time.clock() 用于基准测试”。
  • 这是一个从 sqlit3 db 中选择的简单 sql,在旧的 pentium 4 处理器机器上大约需要 10 秒,time.clock() 说是 1.3 秒。

标签: python time clock


【解决方案1】:

如果您需要的是实际执行时间而不是 CPU 时间,请使用 time.time 而不是 time.clock;另外,您可能对timeit 模块感兴趣。

【讨论】:

  • 对于计时,最好使用timeit.default_timer()。这应该映射到提供最佳时间精度的任何时间函数,并尽可能使用不受系统时间变化影响的计时器。也就是说,将使用单调计时器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 2021-08-22
  • 1970-01-01
  • 2020-02-09
  • 1970-01-01
  • 2015-02-05
  • 1970-01-01
相关资源
最近更新 更多