Qt Creator Manual

Profiling Function Execution

You can use the Callgrind tool included in the Valgrind tool suite to detect problems that are related to executing functions.

After you download and install Valgrind tools, you can use Callgrind from Qt Creator.

Note: Callgrind is supported locally on Linux and Mac OS. You can run it on a remote host from Windows.

To analyze applications:

  1. In the Projects mode, select a release build configuration.
  2. Select Analyze to open the Analyze mode.
  3. Select Profile on the toolbar.
  4. Select the "Start button" button to start the application.
  5. Use the application to analyze it.
  6. Select the "Stop button" button to view the results of the analysis in the Profile view.

Callgrind records the call history of functions that are executed when the application is run. It collects the number of instructions that are executed, their relationship to source lines, the relationships of the caller and callee between functions, and the numbers of such calls. You can also use cache simulation or branch prediction to gather information about the runtime behavior of an application.

Double-click a function to view information about the calling functions in the Callers view and about the called functions in the Callees view.

"Profile view"

Selecting Profiling Options

To specify settings for Valgrind, select Tools > Options... > Analyzer. The Profiling Options group contains Callgrind options.

"Valgrind options"

In the Result view: Minimum event cost field, limit the amount of results the profiler gives you to increase profiler performance.

You can collect information about the system call times and the number of global bus events of the event type Ge that are executed.

Enabling Full Cache Simulation

By default, only instruction read accesses (Ir) are counted. To fully simulate the cache, select the Enable cache simulation check box. This enables the following additional event counters:

  • Cache misses on instruction reads (I1mr/I2mr)
  • Data read accesses (Dr) and related cache misses (D1mr/D2mr)
  • Data write accesses (Dw) and related cache misses (D1mw/D2mw)

Enabling Branch Prediction Simulation

To enable the following additional event counters, select the Enable branch prediction simulation check box:

  • Number of conditional branches executed and related predictor misses (Bc/Bcm)
  • Executed indirect jumps and related misses of the jump address predictor (Bi/Bim)

Thank you for giving your feedback.

Make sure it is related to this specific page. For more general bugs and requests, please use the Qt Bug Tracker.

[0]; s.parentNode.insertBefore(ga, s); })();