miquanyu 发表于 2021-09-21 19:15
Tags:async
请问在async_std包裹的区域内怎么获取当前时间, 我使用了chrono获取时间,但似乎因为chrono没有实现futures,所以在代码中有问题
CLOCK_GETTIME这个系统调用耗时一般100-200ns,rdtsc这个x86指令一般20ns,async的上下文切换一般是200-300ns,我觉得你这里非要async获取时间有点本末倒置。
CLOCK_GETTIME
rdtsc
👇 Bai-Jinlin: 上代码
-- 👇 miquanyu: 主要是想在一个tcp的连接中,获取时间戳做个判断,结果因为chrono,导致服务阻塞了... 请问应该怎么处理
-- 👇 php-lsys: 如果在linux中获取系统时间,直接在用户态就完成了。你还要csip切换个future干球?
上代码
主要是想在一个tcp的连接中,获取时间戳做个判断,结果因为chrono,导致服务阻塞了... 请问应该怎么处理
-- 👇 Bai-Jinlin: 获取时间不是慢速系统调用,不会让整个系统堵塞也不耗时,要什么异步呀。。。
如果在linux中获取系统时间,直接在用户态就完成了。你还要csip切换个future干球?
获取时间不是慢速系统调用,不会让整个系统堵塞也不耗时,要什么异步呀。。。
评论区
写评论CLOCK_GETTIME
这个系统调用耗时一般100-200ns,rdtsc
这个x86指令一般20ns,async的上下文切换一般是200-300ns,我觉得你这里非要async获取时间有点本末倒置。建议你看一下rust的async模型的原理
👇
miquanyu: 我大概知道原因是什么了,我想问一下,是不是在异步中,但凡涉及到系统调用和io的操作,都需要自行实现future,麻烦了
👇
Bai-Jinlin: 上代码
--
👇
miquanyu: 主要是想在一个tcp的连接中,获取时间戳做个判断,结果因为chrono,导致服务阻塞了... 请问应该怎么处理
--
👇
php-lsys: 如果在linux中获取系统时间,直接在用户态就完成了。你还要csip切换个future干球?
我大概知道原因是什么了,我想问一下,是不是在异步中,但凡涉及到系统调用和io的操作,都需要自行实现future,麻烦了
👇
Bai-Jinlin: 上代码
--
👇
miquanyu: 主要是想在一个tcp的连接中,获取时间戳做个判断,结果因为chrono,导致服务阻塞了... 请问应该怎么处理
--
👇
php-lsys: 如果在linux中获取系统时间,直接在用户态就完成了。你还要csip切换个future干球?
上代码
--
👇
miquanyu: 主要是想在一个tcp的连接中,获取时间戳做个判断,结果因为chrono,导致服务阻塞了... 请问应该怎么处理
--
👇
php-lsys: 如果在linux中获取系统时间,直接在用户态就完成了。你还要csip切换个future干球?
主要是想在一个tcp的连接中,获取时间戳做个判断,结果因为chrono,导致服务阻塞了... 请问应该怎么处理
--
👇
php-lsys: 如果在linux中获取系统时间,直接在用户态就完成了。你还要csip切换个future干球?
主要是想在一个tcp的连接中,获取时间戳做个判断,结果因为chrono,导致服务阻塞了... 请问应该怎么处理
--
👇
Bai-Jinlin: 获取时间不是慢速系统调用,不会让整个系统堵塞也不耗时,要什么异步呀。。。
如果在linux中获取系统时间,直接在用户态就完成了。你还要csip切换个future干球?
获取时间不是慢速系统调用,不会让整个系统堵塞也不耗时,要什么异步呀。。。