There are two kinds of hotspot collectors provided by Intel(R) VTune(TM) Amplifier XE, called Hotspots Analysis and Lightweight-hotspots Analysis. Hotspots Analysis is to interrupt a process, collect samples in all active modules of this process and do post-analyzing after running. With "Sample Interval" 10ms as a default, Hotspots Analysis has 2%-5% of overhead. Lightweight-hotspots uses device driver (CPU clockticks sample interval) to capture samples in system mode so it has less overhead.
Here is a simple example code to be profiled (test.cpp and binary test.exe), see attached test.cpp file.
a. Run application, launched by Microsoft Visual Studio*
b. Run application with Hotspots Analysis
c. Run application with Lightweight-Hotspots Analysis
You can see that Elapsed time in Lightweight-Hotspots report is less than execution time when program was launched by Microsoft Visual Studio.
Conclusion 1: if the user is sensitive to overhead, use lightweight-hotspots instead.
Also, the user may find there were different results:
CPU time (threadfunc)
Why did they have different results? Step into their Bottom-up reports. (see below)
There were four working threads in this example, we only observe one thread because it ...
Page viewed 705 times since Thu 31 May 2012, 8:42.