栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python time.sleep的精度

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python time.sleep的精度

Python的延迟
  • Python的time.sleep()精度只有秒!
  • 结论

Python的time.sleep()精度只有秒!

延迟是一个非常重要的功能,有时候我们确实需要精确的延迟。
Python中的延迟方法貌似只有

import time
A = time.time()
time.sleep(2)
B = time.time()
X = B - A
print(X)

上述代码可以延迟2秒,
X结果为:2.0149145126342773

那么time.sleep究竟能多精确呢?其实它根本不怎么精确,如果你期望用它来达到毫秒级别的延迟,还是洗洗睡吧。

import time
A = time.time()
time.sleep(0.001)
B = time.time()
X = B - A
print(X)

结果为:

而实际上,你如果将0.001改为更大一点,比如0.005,那么结果也不会发生改变,

15毫秒貌似就是 在 Windows 环境下,Python的极限了。
为什么说是Windows环境下呢,因为我用虚拟机试了试,Ubuntu的延迟精确性要好很多。但也仅仅是从16ms的离谱偏差变成了几毫秒的离谱偏差,不知道这是不是和虚拟机有关。

那么,如果我就限制参数为0.015 ,延迟的是否准确呢?
答案是偶尔不准……
我自己的测试过程中,大概每四次会出现一次0.030的结果。

结论

总结一下,那就是希望用Python做到精确的毫秒级别的延迟是不要想了。虽然15毫秒的参数可以得到正确的结果,但是还是会出现不精确的结果。因此,我个人认为15毫秒以上的延迟虽然可以,但是精度上,却不可以接受。不是一个可以被使用在需要高精度实时性的系统中的延迟精度。目前来看,Python time.sleep的可以被接受的精度只有秒。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005293.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号