是否有另一个精确的计时器time.clock()在Windows上?

在一些虚拟机平台上运行在Windows中,Python的time.clock()函数是不准确的。
我用下面的testing脚本在几个不同的平台上做了一些testing:

import datetime import time import timeit startClock = time.clock() startTime = time.time() while (True): currentClock = time.clock() currentTime = time.time() clockDiff = currentClock - startClock timeDiff = currentTime - startTime print (datetime.datetime.now()) print ('time.clock() Seconds: %s' % str(clockDiff)) print ('time.time() Seconds: %s' % str(timeDiff)) print ('Diff: %s' % str(clockDiff - timeDiff)) print '' time.sleep(5) 

根据我在哪个虚拟机平台上运行,clockDiff和timeDiff的区别很大。 我尝试了Parallels Desktop 8 for Mac,VMWare Fusion 5和Hyper-V。

看到这个相关的问题 。 问题在于pipe理程序如何处理低级QueryPerformanceCounter函数。

我希望在我的时间精确度,无论这可能运行在哪个虚拟机pipe理程序。 我可以使用time.time(),虽然这没有我从time.clock()得到的精度。

time.clock()有一个替代的计时器给我相同的精度? 我在Windows上运行Python 2.7。

谢谢!

timeit提供了default_timer ,它可以在当前系统上返回最准确的便携式计时机制。