-
Notifications
You must be signed in to change notification settings - Fork 105
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
Thread list updates uses too much CPU resources #108
Comments
I understand that this only applies when selecting the process and threads to profile, and not during actual profiling (or viewing the results), right? If there is indeed a performance problem that scales at least linearly with programs' thread count, lowering the refresh rate will only help with some range of thread counts. Some things that could be done:
|
I made 3 additional tests:
Here are two most hungry functions (collected from thread list updates with I used |
This looks reasonable to me, symbol resolution is bound to be the most complicated part of profiling (even though at that point we're just peeking). Some ideas on how to improve on this:
|
When I load program with 27 threads, Very Sleepy starts using 10% of my total CPU resources (4 cores) for thread list refreshes.
I expect that it may be problematic to update this list for programs, which use even larger amount of threads.
I propose to add option, which lowers refresh rate for thread list, it may help in such cases.
The text was updated successfully, but these errors were encountered: