在某些虚拟机平台上运行Windows,Python的time.clock()函数不准确 我使用以下测试脚本在几个不同的平台上进行了一些测试:
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。
见this related question。问题在于管理程序如何处理低级QueryPerformanceCounter函数。
我希望我的计时准确无误,无论可能运行什么管理程序。我可以使用time.time(),虽然它没有我从time.clock()得到的精度。
time.clock()是否有另一个定时器给我相同的精度?我在Windows上运行Python 2.7。
谢谢!