Optimize a sample C++ application on an Arm-based server with Arm Performix
Introduction
Set up Arm Performix
Build a sample C++ dot-product application
Find code hotspots in the scalar dot-product application
Identify CPU pipeline bottlenecks in the scalar dot-product application
Examine instruction patterns in the scalar dot-product application
Optimize the dot-product application with Arm Neon intrinsics
Validate the optimized dot-product application
Next Steps
Optimize a sample C++ application on an Arm-based server with Arm Performix
Introduction
Set up Arm Performix
Build a sample C++ dot-product application
Find code hotspots in the scalar dot-product application
Identify CPU pipeline bottlenecks in the scalar dot-product application
Examine instruction patterns in the scalar dot-product application
Optimize the dot-product application with Arm Neon intrinsics
Validate the optimized dot-product application
Next Steps
Who is this for?
This Learning Path is for software developers and performance engineers who want to optimize applications on Arm-based servers using Arm Performix.
What will you learn?
Upon completion of this Learning Path, you will be able to:
- Configure Arm Performix and use its recipes to guide performance analysis on Arm-based systems
- Profile a C++ application with the Code Hotspots recipe to identify functions consuming the most CPU time
- Use CPU Microarchitecture and Instruction Mix recipes to pinpoint pipeline bottlenecks and missed SIMD opportunities
- Optimize the application with Arm Neon intrinsics and compare Performix runs to validate changes in runtime and bottleneck behavior
Prerequisites
Before starting, you will need the following:
- SSH access to an Arm Linux server with at least three Performance Monitor Unit (PMU) counters
- Arm Performix installed on your local machine. For installation instructions, see the Arm Performix install guide .
- A C++ compiler such as GCC or Clang installed on the target Linux server
Summary
This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
Frequently asked questions
These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.
performix-analysis/dot_scalar. If Performix can’t start the binary, check the relative path and file permissions on the target.performix-analysis/dot_scalar 16777216 2000. Then, run the recipe to get a Topdown breakdown of pipeline usage.