Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
5104 Discussions

JITing & profiling only a selected methods in .NET assembly

chenvenkat
Beginner
733 Views
Couple of questions...
  1. Does the timing metrics in a Call Graph result include the JIT times? [guessing that the instrumented module is pre-jitted based on the module names listed & therefore does not include them. A question came up as to whether we need tohave a dummy test run to get the JIT timings & then run the actual tests]
  2. Is there a way to enable profiling for a selected set of .NET assemblies but not all?

TIA

0 Kudos
3 Replies
chenvenkat
Beginner
733 Views
VTune version 7.2 (forgot to mention)
0 Kudos
jeffrey-gallagher
733 Views
Some of the callgraph times are based on heuristics, and while statistically relevent and meaningful, may not be exact. Best to think of them as approximations with meaning in regard to each other rather than exact counts, like a Geiger counter counts things.
When you install the VTune analyzer, in that install tree are pause and resume APIs, which you can add to your code. You start VTune in a paused mode, and data is then only collected between the APIs. I think the HELP on this is fairly simple and clear. Take a look and report back.
cheers
jdg
0 Kudos
David_A_Intel1
Employee
733 Views

Regarding .NET* JITing, I would guess that the callgraph times do not include the time required to JIT the function. This is because we get notified by the CLR when the function is called, not when it is JIT'd. Of course, it really depends on Microsoft*'s implementation, but that would be my guess.

As far as the "selected set of assemblies" question, I don't know. Have you tried modifying the callgraph configuration and seeing if it gives you access to this level of detail? Again, however, this may be dependent on Microsoft's implementation.

Regards,

0 Kudos
Reply