# 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://www.linkedin.com/in/brendan-long-5817924/))
- Kieran Hejmadi, Arm ([GitHub](https://github.com/kieranhejmadi01), [LinkedIn](https://www.linkedin.com/in/kieran-hejmadi-88920815b))
- Jason Andrews, Arm ([GitHub](https://github.com/jasonrandrews), [LinkedIn](https://www.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?
Upon completion of this Learning Path, you will be able to:
- 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 will need the following:
- 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

### [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/)
