在一些虚拟机平台上运行,Python的时间时钟()函数不准确。
我用以下测试脚本在几个不同的平台上进行了一些测试:
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。问题在于hypervisor如何处理低级的QueryPerformanceCounter函数。在
我希望我的计时准确无误,不管它可能运行在哪个hypervisor上。我可以用时间。时间(),虽然它没有我得到的精确性时间时钟(). 在
是否有替代计时器时间时钟()这给了我同样的精确度?我在Windows上运行python2.7。在
谢谢!在
timeit
提供了^{相关问题 更多 >
编程相关推荐