【发布时间】:2010-03-07 08:49:01
【问题描述】:
我在不同的机器上运行了以下脚本,得到了完全不同的结果。经过的 time.clock() 太大了。
脚本:
#------------------------------------------------------------------------------------
import time
start_clock = time.clock()
time.sleep(60)
end_clock = time.clock()
print "Sleep Clock = ", str(end_clock - start_clock)
start_time = time.time()
time.sleep(60)
end_time = time.time()
print "Sleep Time = ", str(end_time - start_time)
#-------------------------------------------------------------------------------------
输出:
Instance (Windows Server 2008, X64):
Sleep Clock = 938.306471633
Sleep Time = 60.0119998455
Local Machine (Windows Vista, X86):
Sleep Clock = 59.9997987873
Sleep Time = 59.996999979
以下结果让我很困惑:
睡眠时钟 = 938.306471633
附注: 我没有在其他 X64 操作系统上测试过。此 Windows Server 2008 是一个正在运行的 Amazon 实例。
【问题讨论】:
-
仅供参考,我在 Win7 x64 机器上运行了代码,结果 time() 和 clock() 方法的值都接近 60。
-
您是否始终如一地获得这些值?有没有可能在您的测试期间更新了时钟,也许是网络时间服务启动了?
-
谢谢菲利普。结果似乎不是很稳定。我记得可能是 700 左右,而不是总是接近 900。我不确定是不是因为我在 Amazon 虚拟机上运行了这个脚本。