Comparing performance analysis results is crucial for understanding optimization impact and identifying performance regressions. Intel® VTune™ Profiler provides a robust comparison feature to analyze differences between multiple analysis runs. This article guides you on how to effectively compare results within VTune Profiler to pinpoint performance gains and bottlenecks.
Comparing results in VTune Profiler allows you to identify performance changes between different versions of your code or different optimization strategies. This feature enables regression testing and facilitates data-driven optimization decisions. VTune Profiler focuses on comparing common performance metrics, providing clear insights into areas of improvement or degradation.
Initiating the Comparison Process
To begin comparing analysis results, access the Compare Results functionality directly from the VTune Profiler toolbar. This action launches the Compare Results window, which provides the necessary options for selecting and comparing your desired results.
Within the Compare Results window, you’ll encounter the following key options:
-
Result 1 / Result 2 dropdown menus: These menus allow you to choose the specific analysis results you want to compare. Select results from the current project or browse for results from other projects. The first result selected serves as the baseline for comparison.
-
Swap Results button: This button enables you to easily switch the order of the selected results, changing which result serves as the baseline.
-
Compare button: Once you’ve selected two comparable results, click this button to initiate the comparison process. VTune Profiler will then generate a new result tab displaying the differences between the chosen results. If the selected results are incompatible for comparison, an error message will be displayed.
Interpreting Comparison Results
The comparison results are presented in a new tab labeled with the identifiers of the two compared results (e.g., r001ue-r005ue). Data within this tab reflects the difference between the two results in the order they were selected. A positive value indicates an improvement in the second result compared to the first (baseline), while a negative value signifies a regression.
VTune Profiler provides various views for analyzing comparison data:
-
Summary Window: Provides a high-level overview of overall application performance differences and potential system/platform variations.
-
Bottom-up Window: Displays differences in performance metrics for each function and its callers.
-
Event Count Window: Compares event counts and performance metrics collected during event-based sampling analysis.
-
Top-down Tree Window: Analyzes performance differences for a function and its callees.
-
Caller/Callee Window: Presents a comprehensive view of performance changes for a function, including its callers and callees.
-
Source/Assembly Window: Enables line-by-line comparison of performance data within the source or assembly code, highlighting the impact of code changes on specific instructions.
Leveraging Comparison for Optimization
By effectively utilizing VTune Profiler’s comparison capabilities, developers can:
- Quantify the impact of code optimizations.
- Identify performance regressions introduced by code changes.
- Pinpoint specific functions or code sections contributing to performance differences.
- Make informed decisions regarding optimization strategies.
Regularly comparing results facilitates continuous performance improvement and ensures that code changes contribute positively to application performance. Understanding How To Compare Results in VTune Profiler is a fundamental skill for any performance-conscious developer.