Missing 20%

Using ANTS Performance Profiler, I have noticed that profiling results for a .NET 4.0 executable seem to only show Program.Main "Time with Children" at around 80 %. I see "JIT overhead" around 14%, and "Simplified Stack Traces" around 6 %, but I'm not sure if those are the missing 20%. My display options are "All methods", and "Hide insignificant methods" is unchecked. I have tried with/without "async awareness", and the results are similar. The latest runs are on a chip with 2 physical, 4 virtual processors. Could fluctuating CPU clock rate be a factor?

My expectation is that in "Methods grid" view, with the above display options, there should be a method that shows "Time with children" of very close to 100%. Is this not a valid expectation when profiling code that uses significant async/await semantics?

Is it that Main+JIT+Simplified should cover 100%?


  • Jessica RJessica R Posts: 998 Rose Gold 2
    Hi and thanks for your post!

    As the main method of the profiled application may not have executed all of the other methods called on, there may not be a method that has close to 100% "time with children".

    Just to confirm, if you take a look at the call tree, are the top nodes just the main method, JIT, and "Simplified stack traces"? If so, they should indeed cover the 100%, since none of them were child methods of each other.

    I hope that info helps but please let me know if I've misunderstood!

    Jessica Ramos | Product Support Engineer | Redgate Software

    Have you visited our Help Center?

Sign In or Register to comment.