Profiling applications
Use integrated profiling tools to find causes for typical performance problems in your applications, analyze CPU and memory usage, and visualize trace events.
Using profiling tools
To use a profiling tool, select it in the Analyze menu or in the pull-down menu of the Profile mode. The selected tool opens in the Profile mode. Switch between tools by selecting them in the menu on the toolbar.
Overview of the profiling tools
The following table describes the tools you can use in Qt Creator to profile your code. Profiling tools are built into Qt Creator.
| Tool | Language | Description |
|---|---|---|
| Chrome Trace Format Visualizer | Any | Explore traces that third-party tools generate in Chrome Trace Format. |
| Performance Analyzer | Any | Analyze the CPU and memory usage of an application on Linux desktop and embedded devices. |
| QML Profiler | QML, JavaScript | Find causes for typical performance problems in your applications, such as slowness and unresponsiveness. |
Using Chrome Trace Format Visualizer
Use the Chrome Trace Format Visualizer to view Chrome trace events. This is especially useful when viewing large trace files that are difficult to visualize using the built-in trace-viewer (chrome://tracing).
Tracing information can tell you more about the data that QML Profiler collects. For example, you can check why a trivial binding evaluation is taking so long. This might be caused by C++ being executed or the disk I/O being slow.
Several tracing tools can generate information about Chrome trace events in Chrome Trace Format beyond Chrome-based tools. With the visualizer, you can navigate, zoom, and inspect events in the trace.
For more information, see:
Using Performance Analyzer
On Linux, use Performance Analyzer to analyze the CPU and memory usage of an application on Linux desktop and embedded devices.
Performance Analyzer uses the Perf tool bundled with the Linux kernel to take periodic snapshots of the call chain of an application and visualizes them in a timeline view or as a flame graph.
For more information, see:
Using QML Profiler
Use QML Profiler to inspect binding evaluations and signal handling when running QML code. This helps you identify performance bottlenecks that are difficult to spot through code inspection alone.
QML Profiler records events, such as signal handling, binding evaluations, and JavaScript execution, and visualizes them in a timeline view. This is useful for diagnosing slowness and unresponsiveness.
For more information, see:
See also How to: Profile.