WinPcap收发数据可以精确到纳秒吗

OrdinaryCoder 码农  2020-01-15 03:24:15
刚才和同事聊天,说他现在的项目要测贷款,用WinPcap收发数据最快可以精确到纳秒,是真的吗
...全文
219 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡龙 2020-01-16
纳秒的不可能的,除非操作系统就你一个进程在干活,cpu才会都给你。 使用QueryPerformanceCounter可以精确到微秒。
回复
datafansbj 2020-01-16
主流 Windows 核心计数器的分辨率是 10ns,不是 1ns,任何高精度计时器或定时器,其分辨率都不可能超过这个数值。你同事应该说错了,下图是 Wireshark 抓包截图,时间戳仅能精确到 1 us(1000ns)。
回复
stherix 2020-01-16
主流PC操作系统基本都做不到 windows,linux都不行 实时性都没这么高的
回复
OrdinaryCoder 2020-01-16
引用 5 楼 贵阳老马马善福专业维修游泳池堵漏防水工程 的回复:
1纳秒=10的-9次方秒 这是什么意思呢,一颗3GHz 主频的CPU,一秒钟可以执行3x10的9次方条指令。 1纳秒,这块CPU才执行了3条指令。3条指令内你能指望计算机做什么?
不需要1ns那么快 只要小于1ms是不是就可以用来实现高精度通讯
回复
圣殿骑士18 2020-01-16
只有硬件才能达到纳秒级的精度。
回复
threenewbee 2020-01-15
1纳秒=10的-9次方秒
这是什么意思呢,一颗3GHz 主频的CPU,一秒钟可以执行3x10的9次方条指令。
1纳秒,这块CPU才执行了3条指令。3条指令内你能指望计算机做什么?
回复
github_36000833 2020-01-15
15ms
15
回复
github_36000833 2020-01-15
Windows是抢先式分时操作系统。
抢先,意味着我们的程序,随时可能被剥夺CPU,被挂起。
分时,意味着被挂起的程序(具体说是线程),需要等待一定的时间片后,才有机会被调度给予运行机会。
Windows下,时间片的粒度为15微秒左右(服务器版和桌面版可能不一样)。

就是说,所谓用1ms为精度来控制发送的说法,在当前的Window操作系统下是实现不了的。
回复
OrdinaryCoder 2020-01-15
引用 1 楼 github_36000833 的回复:
带宽,用纳秒为单位的粒度来测试有意义吗? 一纳秒,光/电信号传导距离才30公分。
这里不谈意义,就是之前看见好多人问在windows系统进行1ms以内的通讯频率,如果WinPcap可以精确到ns 是不是可以用这个做
回复
github_36000833 2020-01-15
带宽,用纳秒为单位的粒度来测试有意义吗?
一纳秒,光/电信号传导距离才30公分。
回复
相关推荐
发帖
C#
创建于2007-09-28

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2020-01-15 03:24
社区公告

让您成为最强悍的C#开发者