Basic Hotspots Analysis

Basic Hotspots analysis helps understand application flow and identify sections of code that get a lot of execution time (hotspots). A large number of samples collected at a specific process, thread, or module can imply high processor utilization and potential performance bottlenecks. Some hotspots can be removed, while other hotspots are fundamental to the application functionality and cannot be removed.

Intel® VTune™ Amplifier creates a list of functions in your application ordered by the amount of time spent in each function. It also caprtures the call stacks for each of these functions so you can see how the hot functions are called.

VTune Amplifier uses a low overhead (about 5%) user-mode sampling and tracing collection that gets you the information you need without slowing down application execution significantly.

During Basic Hotspots analysis, the VTune Amplifier data collector profiles your application using the OS timer. The data collector interrupts a process, collects samples of all active instruction addresses, and captures a call sequence (stack) for each sample. VTune Amplifier stores the sampled instruction pointer (IP) along with a call sequence in data collection files, and then analyzes and displays this data in a result tab. Statistically collected IP samples with call sequences enable the VTune Amplifier to display a top-down tree (call tree). Use this data to understand the control flow for statistically important code sections.

The collector does not gather system-wide performance data but focuses on your application only. To analyze system performance, run the Advanced Hotspots analysis.

You can choose to view Basic Hotspots analysis results in any of the following viewpoints:

Viewpoint

Description

Hotspots

Helps identify hotspots - code regions in the application that consume a lot of CPU time.

Hotspots by CPU Usage

Helps identify hotspots - code regions in the application that consume a lot of CPU time. CPU time is broken down into CPU usage states: idle, poor, fair, and good.

Task Time

Visualizes tasks, logical units of work on specific threads, based on ITT API annotations. Identify tasks with the highest execution time and analyze threads responsible for a particular task.

Each viewpoint consists of the following windows/panes:

  • Summary window displays statistics on the overall application execution in terms of CPU time.

  • Bottom-up pane displays hotspot functions in the bottom-up tree and CPU time per function.

  • Top-down Tree pane displays hotspot functions in the top-down tree, CPU time for a function only (Self time) and for a function and its children together (Total time).

  • Call Stack pane displays stacks for each hotspot function.

  • Timeline pane displays thread activity.

What's Next

You can go from the hotspots to the source code. View the source code containing the hotspots and modify your code to remove bottlenecks and improve the performance of your application.

Information provided by Basic Hotspots analysis is important for tuning serial applications and it is still useful for tuning the serial sections of parallel applications. The Basic Hotspots analysis data helps you understand what your application is doing and identify the code that is critical to tune. For parallel applications running on multi-core systems you may need additional analyses: Concurrency and Locks and Waits.

For more complete information about compiler optimizations, see our Optimization Notice.