首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跨内核的纳秒计时?

跨内核的纳秒计时?
EN

Stack Overflow用户
提问于 2011-12-09 06:21:27
回答 3查看 485关注 0票数 0

我计划将一些软件直接写到FPGA网卡上,以捕获传入的定制网络数据包。

最终,我相信我会将获得的数据发送到内核或用户应用程序。这是一个延迟关键型交易研究项目。

我可以使用哪种纳秒计时仪器,因为我需要精度,而且我正在计时在PCI-E网卡接收和内核中的接收之间的持续时间?

这将是在Linux上,使用C编写的“驱动”代码(我可能会将用户应用程序放在这个级别以减少延迟)。

EN

回答 3

Stack Overflow用户

发布于 2011-12-09 06:39:01

在linux上,对CPU时钟的访问是通过相当于Windows QueryPerformanceCOunter的tsc来实现的。

票数 1
EN

Stack Overflow用户

发布于 2011-12-09 08:17:32

如果可用的话,clock_gettime会使用HPET,它是最简单、最好、最可靠的。

如果HPET不可用,你就没有那么可靠的计时器了,所以不幸的是,clock_gettime的分辨率会更差,但这就是它,你对此无能为力。

任何其他来源,包括tsc,要么分辨率较低,要么不可靠,或者两者兼而有之。

票数 1
EN

Stack Overflow用户

发布于 2011-12-09 06:28:22

在软件中,每件事都发生在系统时钟的倍数上。我认为您可以使用任何时间度量函数来返回经过的时钟滴答数,例如,clock()应该可以为您提供足够的精度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8438532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档