我对新功能time.perf_counter()和有一些疑问time.process_time()。
对于前者,从文档中:
返回性能计数器的值(以分数秒为单位),即具有最高可用分辨率的时钟,可测量较短的持续时间。它确实包括整个系统的睡眠时间。返回值的参考点是不确定的,因此仅连续调用的结果之间的差有效。
所有系统的“最高分辨率”是否相同?还是总是稍微依赖于例如我们使用的是Linux还是Windows?
问题来自这样一个事实:阅读文档time.time()说明:“并非所有系统都提供比1秒更好的时间精度”,那么现在如何提供更好和更高的分辨率呢?
关于后者,time.process_time():
返回当前进程的系统和用户CPU时间之和的值(以秒为单位)。它不包括睡眠期间经过的时间。根据定义,它是整个过程的。返回值的参考点是不确定的,因此仅连续调用的结果之间的差有效。
我不明白,这些“系统时间”和“用户CPU时间”是什么?有什么不同?
duck按功能而不是实现使用时间更多。即,使用time.time()或time.monotonic()取决于您想要什么。