Intel® VTune™ Profiler

User Guide

ID 766319
Date 3/22/2024
Document Table of Contents

Analyze Loops

Use the Intel® VTune™ Profiler to view a hierarchy of the loops in your application call tree and identify code sections for optimization.

To view and analyze loops in your application:

  1. Create a custom analysis (for example, Loop Analysis) based on hardware event-based collection and select the Analyze loops, Estimate call counts, and Estimate trip counts options.
  2. Select the required filtering level from the Loop Mode drop-down menu on the Filter toolbar.
    • Loops only: Display loops as regular nodes in the tree. Loop name consists of:

      • start address of the loop

      • number of the code line where this loop is created

      • name of the function where this loop is created

    • Loops and functions: Display both loops and functions as separate nodes.

    • Functions only (default): Display data by function with no loop information.

    VTune Profiler updates the grid according to the selected filtering level.

  3. Analyze Self and Total metrics in the Bottom-up and Top-down Tree windows and identify the most time-consuming loops.
  4. Double-click a loop of interest to view the source code.

    VTune Profiler opens a source file for the function with the selected loop. The code line creating the loop is highlighted.


    You can see the code line information only if debug information for your function is available.


To identify the most time-consuming loop, select the Loops only mode in the Bottom-up window. By default, loops with the highest CPU Time values show up at the top of the grid.

To identify the heaviest top-level loops, switch to the Top-down Tree window. The data in the grid is sorted by the Total time metric displaying the hottest top-level loops first: