< 返回版块

ftkj411522 发表于 2022-12-07 11:20

评论区

写评论
elsejj 2022-12-07 16:40

这个,怎么说呢,不确定能带来多少好处,但整个系统的复杂度是高了不少。

用一个 1微秒 的sleep定时器去刷时间,还是挺奢侈的,基本上这个核就基本干不了别的了,再一个,1微秒sleep也可能由于核被调度走,插入别的任务导致定时周期可能跟预想的不同。

实际上,linux 中, time 的速度已经足够快了,参考这个帖子里的数据

https://stackoverflow.com/questions/6498972/faster-equivalent-of-gettimeofday

一次 time 大概就是 1-2 ns 之间,不过它的精度只到秒

一次 clock_gettime(CLOCK_REALTIME_COARSE) 在 3-5 ns 之间,它的精度能到 10 毫秒

一次 clock_gettime(CLOCK_REALTIME) 在 15-20 ns 之间,它的精度能到 1 微秒

根据场景的不同,选用不同精度、不同耗时的时间方式可能会比较恰当

1 共 1 条评论, 1 页