# Optimize application performance using Arm Performix CPU microarchitecture analysis

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/servers-and-cloud-computing/performix-microarchitecture/)
- [Set up the target environment and compile the application](https://learn.arm.com/learning-paths/servers-and-cloud-computing/performix-microarchitecture/1-setup/)
- [Identify application bottlenecks with the CPU Microarchitecture recipe](https://learn.arm.com/learning-paths/servers-and-cloud-computing/performix-microarchitecture/2-run-cpu-uarch/)
- [Analyze SIMD utilization with the Instruction Mix recipe](https://learn.arm.com/learning-paths/servers-and-cloud-computing/performix-microarchitecture/3-instruction-mix/)
- [Next Steps](https://learn.arm.com/learning-paths/servers-and-cloud-computing/performix-microarchitecture/_next-steps/)

## About this Learning Path

|  |  |
| --- | --- |
| Skill level: | Introductory |
| Reading time: | 1 hr |
| Last updated: | 11 Aug 2026 |

### Authors:
- Brendan Long, Arm  
  [GitHub](https://github.com/bccbrendan)  
  [LinkedIn](https://linkedin.com/in/brendan-long-5817924/)  
- Kieran Hejmadi, Arm  
  [GitHub](https://github.com/kieranhejmadi01)  
  [LinkedIn](https://linkedin.com/in/kieran-hejmadi-88920815b)  
- Jason Andrews, Arm  
  [GitHub](https://github.com/jasonrandrews)  
  [LinkedIn](https://linkedin.com/in/jason-andrews-7b05a8)  

|  |  |
| --- | --- |
| Authors: | Brendan Long , Arm<br>[GitHub](https://github.com/bccbrendan)<br>[LinkedIn](https://linkedin.com/in/brendan-long-5817924/)<br>Kieran Hejmadi , Arm<br>[GitHub](https://github.com/kieranhejmadi01)<br>[LinkedIn](https://linkedin.com/in/kieran-hejmadi-88920815b)<br>Jason Andrews , Arm<br>[GitHub](https://github.com/jasonrandrews)<br>[LinkedIn](https://linkedin.com/in/jason-andrews-7b05a8) |
| Arm IP: | [Neoverse](https://support.arm.com/?tab=compute-ip&Product%20Type=Infrastructure%20Processors) |
| Tags: | [Performance and Architecture](https://learn.arm.com/tag/performance-and-architecture) [Arm AGI CPU](https://learn.arm.com/tag/arm-agi-cpu) [Linux](https://learn.arm.com/tag/linux) [Arm Performix](https://learn.arm.com/tag/arm-performix) [C](https://learn.arm.com/tag/c) [Runbook](https://learn.arm.com/tag/runbook) |

### Who is this for?
This is an introductory topic for software developers who want to learn performance analysis methodologies for Linux applications on Arm Neoverse-based servers.

### What will you learn?
After completing this Learning Path, you'll be able to perform the following tasks:
- Identify CPU pipeline bottlenecks using the Arm Performix CPU Microarchitecture recipe
- Analyze instruction types and SIMD utilization using the Instruction Mix recipe
- Optimize application performance using vectorization and compiler flags
- Compare performance profiles to measure execution improvements

### Prerequisites
Before starting, you'll need the following prerequisites:
- An Arm Neoverse-based server running Linux, such as an Arm AGI CPU platform.
- Bare-metal server or cloud bare-metal access is preferred for hardware performance counters
- Familiarity with Linux command line
- Basic understanding of CPU performance concepts
