-
Notifications
You must be signed in to change notification settings - Fork 31.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
src: reduce cpu profiler overhead #466
Conversation
This PR seems to cause a regression on the centos5-64 bot. Investigating. |
The centos5-64 kernel is old enough that it doesn't support epoll_pwait(). It's possible the fallback path in libuv is not working as expected. |
Fix: libuv/libuv#162 |
@bnoordhuis looks like the fixed version of libuv has landed here. |
Reduce the overhead of the CPU profiler by suppressing SIGPROF signals when sleeping / polling for events. Avoids unnecessary wakeups when the CPU profiler is active. The benefits are quite substantial on systems where it is expensive to query the system time (most virtualized environments). Before, it was common to see over 20% of wall clock time being spent on clock_gettime() system calls.
cfbbf82
to
310ce15
Compare
@Fishrock123 Yep. Updated and having the CI check it now: https://jenkins-iojs.nodesource.com/view/iojs/job/iojs+any-pr+multi/130/ |
CI is happy. R=@piscisaureus? |
taps @piscisaureus on the shoulder |
Oh, oops missed this. LGTM |
Reduce the overhead of the CPU profiler by suppressing SIGPROF signals when sleeping / polling for events. Avoids unnecessary wakeups when the CPU profiler is active. The benefits are quite substantial on systems where it is expensive to query the system time (most virtualized environments). Before, it was common to see over 20% of wall clock time being spent on clock_gettime() system calls. PR: #466 Reviewed-by: Bert Belder <[email protected]>
Thanks, landed in 96ffcb9. |
Reduce the overhead of the CPU profiler by suppressing SIGPROF signals
when sleeping / polling for events. Avoids unnecessary wakeups when
the CPU profiler is active.
The benefits are quite substantial on systems where it is expensive to
query the system time (most virtualized environments). Before, it was
common to see over 20% of wall clock time being spent on clock_gettime()
system calls.
R=@piscisaureus