轮询并选择手动轮询[SPEED]

时间:2017-02-09 08:35:28

标签: c performance select polling latency

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

现在,我想使用Poll或Select POSIX函数来节省CPU使用率。我一直在阅读它以及套接字中可能存在的延迟。我想知道民意调查和选择功能是否很慢或只是这个"延迟"我读过的内容是微不足道的。

传感器每5 ms发送一次数据,算法可能需要1-2 ms(卡尔曼滤波器)。所以系统有2-3毫秒直到下一个传感器样本,否则对我的应用来说太慢了。

1 个答案:

答案 0 :(得分:1)

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

对于Poll机制,请浏览man poll页面以获取更多信息。

对于select机制,请浏览 man select 页面以获取更多信息。我建议通过它的Multithreaded applications section

同时查看epoll机制。这可以帮助您拓宽实施思路。