手动轮询和选择[速度]

问题描述 投票:0回答:1

我开发了一个嵌入式系统(Linux 和 C),可以手动读取两个传感器(5Hz 和 200Hz)轮询,检查两个文件中是否有可用数据。

现在,我想使用 Poll 或 Select POSIX 功能来节省 CPU 使用率。我一直在阅读有关它以及套接字中一些可能的延迟的信息。我想知道 poll 和 select 函数是否很慢,或者我读过的这个“延迟”只是微不足道的。

传感器每 5 毫秒发送一次数据,算法可能需要 1-2 毫秒(卡尔曼滤波器)。因此,系统在下一个传感器样本之前有 2-3 毫秒的时间,否则对于我的应用程序来说太慢了。

c performance polling latency posix-select
1个回答
1
投票

轮询和选择机制都旨在达到相同的目的。通过this链接。这将有助于深入了解这两种机制的性能。之后你就可以做出决定了。

对于

Poll
机制,请通过 man poll 页面了解更多信息。

对于

select
机制,请通过 man select 页面了解更多信息。我建议仔细阅读它的
Multithreaded applications section

还要看看

epoll
机制。这可以帮助您拓宽您的实施思路。

© www.soinside.com 2019 - 2024. All rights reserved.