Community support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
4823 Discussions

Difference in the results using Call Graph for the same project

I am trying to collect some results for my video encoder through Intel VTune Call Graph. I am conducting tests on five different test sequences. Aftr running the call graph once I restart the PC to get results for the next sequence. All this is done by running the same activity without making any modifications to it.Changes are made to the configuration file of the project only. Now the problem is that when I run the project twice for the same sequences at different times, the results that call graph collects for the modules of the project are quite different where as they should be somewhat same. For the
purpose of checking i made a test program consisting of a for loop running 1000 times. Each times the results that the VTune's call graph collects are different.Can you kindly elaborate as to why is there difference in the results??
0 Kudos
2 Replies

I have no idea. If you believe there is an error, please submit an issue at and include your test application (see Attach File link, when submitting the issue).



VTune Call Graph Profiler uses hardware tick counter to measure time. Because Microsoft Windows does not allow this counter to be virtualized this counter keeps running even when profiled application/thread is switched off from processor. So, actual measurements depends on your machine load. If you want to measure time as precise as possible, shut down all applications that you can before the measurements start.

In addition to this I would like to note, that time values, produced by Call Graph profiler are considerably less precise than those from Sampling profiler. The reason for this is that Sampling profiler'soverheadalmost not depends on application behavior, while Call Graph profiler's overhead is a constant per each call/return. This means that self timeof small functions/methods can be even less than overhead time of profiling routines themselves and measurements for short functions are less precise that for long.