ARM Streamline Performance Analyzer

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.

Cookies

Cookie settings

We may collect and store information about your visit to our web site automatically using browser cookies (files which are sent by us to your computer) or similar devices which we can access when you visit our web site in future.
Please read our Cookie Policy to find out more about the cookies we use.

You can control the cookies set by this website by using the slider below, and by saving your settings.
These settings only apply to the ARM Website you are currently visiting and any changes you make will not apply to any other ARM websites.

We cannot turn off cookies which fall under the strictly necessary category, as these are essential in order to enable you to move around the website and use its features.
Please read our Cookie Policy to find out how to control these using your browser settings.

Third parties may also use cookies over which we have no control.
These cookies are likely to be performance cookies or targeting cookies.
Please read our Cookie Policy to find out how to control these using your browser settings.