Performance analysis tools

A common phrase in software optimization is "you can only optimize what you can measure".

This means that to improve the performance of your code, you must be able to accurately measure performance so that you can analyze where bottlenecks are occurring, make optimizations, and measure the improvements.

The right tool for this depends on the Arm platform you are working with.

RTOS and Android

Arm Streamline is the tool of choice for optimizing applications and systems for these platforms. Streamline is part of the Arm Development Studio and Arm Mobile Studio products. 

Linux

For Linux systems, there is a rich ecosystem of tooling from Arm and the open source community. 

  • For 64-bit Linux, Arm Forge MAP enables profiling of multi-threaded and multi-process C, C++, Fortran and Python applications. Available as a standalone tool or as part of Arm Allinea Studio, Forge supports all major Linux distributions. The tool has advanced support for both CPU, application I/O, and MPI communication (for HPC applications). It can be used to identify end-to-end application performance problems such CPU bottlenecks, thread synchronization, and I/O problems.
  • Arm Streamline is a system profiler that can discover your software hot spots, via program counter sampling, as well as performance counter and process statistics. It can display per-core and per-process hardware event counters from Arm CPUs and Mali GPUs. Streamline for Linux is available as part of Arm Development Studio.
  • Perftools, the widely used command line Linux tools for hardware counters and other performance measurement, are available for Arm systems. 

 

Previous Next