Nodejs 分析,epoll_pwait 是否影响性能?

Raf*_*ida 7 performance epoll node.js

我正在开发一个 Node-js 应用程序,它需要 MIDI 输入并发送 MIDI 输出。

为了测量和提高应用程序的性能,按照本指南,我在使用应用程序时提取了 CPU 使用情况配置文件。

这是所获得数据的摘录:

   [Summary]:
   ticks  total  nonlib   name
    495    1.7%    2.0%  JavaScript
  24379   85.3%   96.9%  C++
     50    0.2%    0.2%  GC
   3430   12.0%          Shared libraries
    272    1.0%          Unaccounted
Run Code Online (Sandbox Code Playgroud)

现在我觉得可疑的部分是下一个:

  ticks parent  name
 24080   84.3%  epoll_pwait
Run Code Online (Sandbox Code Playgroud)

显然,我很大一部分蜱虫属于同一功能。

根据此文档

通过事件提供者(例如epoll_wait)从事件队列(例如内核)接收事件

因此,从我的角度来看,事件循环线程使用该函数在空闲状态下轮询事件。这意味着对 epoll_pwait 的调用比例较高意味着事件循环线程很少被阻塞,这对性能有好处。

使用top命令我可以看到应用程序的CPU使用率很低(大约3%)

问题是,epoll_pwait 调用是否会影响性能?如果是这样,我可以以某种方式改进吗?