#156- Distinguish real CPU consuming operations from sleep-like CPU usage

I would try to distinguish operations which are really CPU intensive from operations which are not in the thread CPU usage.

Not CPU intensive operations could include :
- Thread.Sleep() calls
- WaitForSingleObject like calls
- non managed select() calls
- part of the Windows Forms message loop ?

And all calls which do not really use CPU.

I'll try to post more about this (including how to define the CPU intensive operations, possibly by the user if it's to difficult to guess them).



State of this request was changed from "Submitted" to "Open"

Priority: ?
Planned for version: ]]>



We wanted to add such functionality to 1.0, but it turns out that there's no way to detect wait periods with a purely managed profiler (e.g. a call to Thread.Sleep is inlined to the method's native code so you don't even get a function call for it). We will do our best in 2.0 with sampling techniques to solve the problem.


I'm trying to do that too... Is it possible with version 4.5.2?



Hi Armin, not yet. It will be possible when Timeline view is ready - in next (not the closest 5.0) major release.
BTW, as far as old link has expired, I've created a new request: http://youtrack.jetbrains.com/issue/DTRC-6981; you can watch its progress.


Please sign in to leave a comment.