Identify back-end bubbles (processor delays) in 64-bit applications and resolve them. Like any hardware platform, the Intel® Itanium® processor is dependent for performance upon the quality of the code it executes. Seemingly innocuous code can produce performance issues that are difficult to identify without systematic analysis using proven techniques. Subjecting application code to such analysis prior to its release is a vital step in development that can prevent performance deficits and the associated threats to your application's competitive advantage.
Use the Intel® VTune™ Performance Analyzer to identify bubbles and their root causes, then refine code efficiency to limit or remove their impact on performance. The VTune environment provides a means of sampling performance data for iterative analysis that gradually zeroes in on suboptimal code and then determines the root cause of the associated performance issues so that they can be corrected.
The following steps represent best practices for using the VTune analyzer to discover the causes of poor performance on the Itanium processor:
- Run the high-level -ALL counters, primarily BACK_END_BUBBLE-ALL
- If necessary, run the mid level -ALL counters that are underneath the primary high-level culprit
- Run the low-level counters underneath the counter with the highest number of events
- Read the VTune analyzer online-help entry related to the specific low-level counter to find out what causes the event to happen
- Analyze the code, keeping in mind the cause of the event
- Change the code
This sequence of steps should be repeated iteratively as long as it continues to generate significant performance increases.
The following separate items address the individual operations associated with resolving back-end bubbles on 64-bit Intel architecture with the VTune analyzer:
- How to Identify Back-End Bubbles on 64-Bit Intel® Architecture
- How to Perform Back-End Bubble Root-Cause Analysis on 64-Bit Intel® Architecture
- How to Improve Code Based on Root-Cause Analysis on 64-Bit Intel® Architecture