有没有一种简单的方法/模块可以 正确
测量python中的经过时间?我知道我可以简单地打电话time.time()两次并取差额,但是如果更改系统时间,那将产生错误的结果。当然,这种情况很少发生,但这确实表明我在衡量错误的事情。
考虑time.time()到持续时间时,使用它来衡量是难以置信的。您将两个绝对时间测量值的差值反过来由持续时间测量值(由计时器执行)和已知的绝对时间(手动设置或通过ntp设置)构成,而您根本不感兴趣。
因此,有没有一种方法可以直接查询此“计时器时间”?我以为它可以表示为没有有意义的绝对表示的毫秒或微秒值(因此不需要随系统时间进行调整)。环顾四周,似乎这System.nanoTime()确实是Java的功能,但是我没有找到相应的Python函数,即使它(从硬件技术上)比提供起来更容易time.time()。
编辑:为避免混淆并解决以下问题的答案:这与DST更改无关,并且我也不需要CPU时间-
我希望经过的物理时间。它不需要非常细粒度,甚至不需要特别准确。它只是不应该给我负面的持续时间,或者不给我持续数个数量级(超过粒度)的持续时间,只是因为有人决定将系统时钟设置为其他值。这是Python文档对“
time.time()”的评价:
我正是要避免这种情况,因为它可能导致时间计算中出现诸如负值之类的奇怪现象。目前,我可以解决此问题,但我相信,在可行的情况下,学习使用适当的解决方案是一个好主意,因为有一天纠缠会再次困扰您。
Edit2:一些研究表明,您可以使用GetTickCount64()在Windows中获得与我希望的系统时间无关的度量,而在Linux下,您可以在times()的返回值中获得它。但是,我仍然找不到在Python中提供此功能的模块。