gpt4 book ai didi

Python - 准确的时间.sleep

转载 作者:太空狗 更新时间:2023-10-29 21:54:07 25 4
gpt4 key购买 nike

我正在做一个准确的计时器非常重要的项目。我正在使用 python 并使用 timer.sleep() 函数。

我注意到 timer.sleep() 函数会因为调度问题而增加额外的延迟(引用 timer.sleep docs )。由于这个问题,我的程序运行的时间越长,计时器就越不准确。

有没有更准确的timer/ticker让程序休眠或者解决这个问题?

如有任何帮助,我们将不胜感激。干杯。

最佳答案

我有一个与上述类似的解决方案,但它很快就变得处理器负担过重。这是一个处理器繁重的想法和解决方法。

def processor_heavy_sleep(ms):  # fine for ms, starts to work the computer hard in second range.
start = time.clock()
end = start + ms /1000.
while time.clock() < end:
continue
return start, time.clock()


def efficient_sleep(secs, expected_inaccuracy=0.5): # for longer times
start = time.clock()
end = secs + start
time.sleep(secs - expected_inaccuracy)
while time.clock() < end:
continue
return start, time.clock()

efficient_sleep(5, 0.5) 3 次的输出是:

  • (3.1999303695151594e-07, 5.0000003199930365)
  • (5.00005983869791, 10.00005983869791)
  • (10.000092477987678, 15.000092477987678)

这是在 Windows 上。我现在正在运行它 100 个循环。这是结果。

  • (485.003749358414, 490.003749358414)
  • (490.0037919174879, 495.0037922374809)
  • (495.00382903668014, 500.00382903668014)

sleep 保持准确,但调用总是有一点延迟。如果您需要一个调度程序能够准确地调用每 xxx 秒到毫秒,那将是另一回事。

关于Python - 准确的时间.sleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50512524/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com