不过还要补充提醒一下,即便在python3.11中 asyncio.sleep 还是非常不堪的
async def sleep_in_async(pc=time.perf_counter):
# 测试一个极为短暂的sleep也实际上会导致15ms左右的暂停
'''
笔记本测试结果
run in asyncio. t:0.001 n:1000 time:15.520545200000925 avg:0.015520545200000924
'''
n = 1000
t = 1/1000
start = pc()
for i in range(n):
await asyncio.sleep(t)
span = pc() - start
print(f"run in asyncio. t:{t} n:{n} time:{span} avg:{span/n}")
【 在 misslost 的大作中提到: 】
: 我需要核实一下 time.sleep的准确效果 用如下代码 。核实的结果,震惊!
: 想请教一下,是我的方法不对,还是 time.sleep 本来就是这么不堪?有没有三方库能精确一点的?谢谢
: from time import perf_counter as pc
: ...................
--
FROM 120.245.130.*