7

I am developing a node-js application that expects midi input and sends midi output.

In order to measure and improve the performance of the application, following this guide, I have extracted the CPU usage profile while using the application.

This is an extract of the data obtained:

   [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

Now the part that I find suspicious is the next:

  ticks parent  name
 24080   84.3%  epoll_pwait

Apparently I big percentage of the ticks belong to the same function.

According to this documentation:

Events are received from the event queue (e.g. kernel) via the event provider (e.g. epoll_wait)

So, from my point of view the event-loop thread uses that function to poll events while in idle state. That would mean that high percentage of calls to epoll_pwait means that the event loop thread is rarely being blocked, and that would be good for performance.

Using the top command I can see that the CPU usage of the application is low (aprox. 3%)

The question is, are epoll_pwait calls affecting performance? If so, can I improve this somehow?

0 Answers0