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 调用是否会影响性能?如果是这样,我可以以某种方式改进吗?