ARM Streamline Performance Analyzer

ARM Streamline Performance Analyzer Image

System level software optimization for ARM Linux and Android platforms.

ARM Streamline™ Performance Analyzer, part of the ARM DS-5™ toolchain, enables software developers to fully utilize the resources available across their ARM processor-based systems to create high-performance, energy-efficient products. It features an intuitive graphical interface that presents information ranging from CPU and GPU performance counters to source code hotspots to actual power consumption, making it easy for developers to mitigate performance bottlenecks, improve code parallelization, extend battery life, and enhance user experience.

Streamline builds on system tracepoints, hardware and software performance counters, sample-based profiling and user annotations to offer a powerful and flexible system analysis environment for software optimization.


The Versatile™ Express system allows several configuration options, as per the illustrations below. Click on the links in the diagram or in the 'Quick Links' section above for detailed information about each element of the board family.


System Level Timeline Analysis

The Timeline view combines multiple sources of data to offer a complete performance dashboard for software developers. The time-based graphical visualization allows users to easily observe the evolution of system performance metrics over the time of data capture. Having spotted instant hotspots or spurious changes in performance counters, users can then graphically select the time slice of interest to generate focused profiling reports.

Profile Drilldown

Streamline Performance Analyzer supports both time- and event-based sampling (EBS) to enable in-depth investigation of code hotspots in native C/C++ applications. This capability provides developers with the ability to statistically assign processor time or hardware performance counters, such as cache misses and ARM NEON™ instructions executed, to process, thread, function, source code line and assembly instructions.

Core-Aware Analysis for SMP Systems

The potential performance gain of a multicore SoC can easily be missed because of issues like poor thread synchronization and sub-optimal concurrency. For SMP platforms, Streamline features per core performance counter charts and the X-Ray visualization mode, which maps process and thread activity per core, making it possible for developers to visualize how their code is being distributed.

Integrated ARM Mali Graphics Performance Analysis

Graphics intensive tasks such as sophisticated user interfaces and gaming content don't run in isolation in just one processor. For this reason, developers need to have visibility of performance across application and graphics processors. The Streamline Performance Analyzer links up to Mali drivers to provide a wide range of statistics on OpenGL® ES 1.1 and OpenGL® ES 2.0 usage, over 300 software and hardware performance counters and to sample the frame buffer, enabling a new breed of high performance, energy efficient content.

User Annotations

Streamline Performance Analyzer reconciles debug and performance analysis with a simple and powerful solution: code annotations. From tracking machine state changes on a timeline to cross-relating the frame buffer content with performance issues, simple code instrumentation links up your software to performance analysis. To do that users just need to write into Streamline's kernel module (gator driver), from either user or kernel space.

Android and Linux Integration

Provided to users in open source format, gator driver and daemon leverage new capabilities available in the ARM Linux kernel to provide developers with comprehensive information from the operating system. Gator can be used on Linux kernels version 2.6.32 or newer, including the recent version 3.x used by the Android 4.0 (Ice Cream Sandwich) platform.

Speed Up Your Code

  • Find out where the CPU is spending more time
  • Improve code parallelization for multicore platforms
  • Tune your code for optimal cache usage, vectorization, and more

Reduce Energy Footprint

  • Monitor actual power, current, voltage with the ARM Energy Probe
  • Spot opportunities to improve power management schemes
  • Optimize compute tasks for best energy efficiency

Utilize System Resources Efficiently

  • Analyze and optimize Mali™ GPU utilization alongside CPU code
  • Monitor CPU and Mali GPU cache usage and system memory
  • Check load distribution across multiple cores

Customize It for Your System

  • Connect your own data into Streamline analysis views
  • Extend the open source driver to monitor variables and components
  • Instrument your code to send printf-like messages to Streamline

Integrate Streamline's gator to your product

Whether you want to use Streamline Performance Analyzer internally in your development or want to ship it in your product to foster high performance applications in the ecosystem, the integration process is very simple.

Before you start: Have a look at the list pre-configured software platforms that support Streamline out of the box.

1. Download gator's source code

Gator kernel module (driver) and daemon (user space service) source code is available for download under GPLv2 license on the DS-5 Downloads page.

2. Set up your target and build the sources

Getting Started with Streamline Performance Analyzer

Learn how to connect and analyze the performance of your multi-threaded application on a Linux platform

 Customizing Performance Charts in ARM Streamline

Learn how to customize Streamline's Timeline view charts to perform advanced perfomance analysis.

Analyzing CPU and GPU Game Performance on the Odroid-A

Check out how Streamline makes system optimization easy on a multicore Samsung Exynos 4210-based Android tablet

Integrated performance and power analysis with the ARM Energy Probe and ARM Streamline

Learn how to start optimizing your product for the best energy efficiency



We use cookies to give you the best experience on our website. By continuing to use our site you consent to our cookies.

Change Settings

Find out more about the cookies we set