Get the Best Out of Your ARM Powered System
ARM Streamline™ Performance Analyzer equips software developers with an intuitive way to optimize Linux-based systems running on ARM powered platforms. Building on low-overhead sampling technology, Streamline features an user-centric graphical interface that presents information ranging from system-wide CPU load to hot spots in the source code, making it easy for developers to identify performance bottlenecks, multi-threading issues and general inefficient resource usage.
ARM Streamline is distributed as a component of ARM Development Studio 5.
Benefits
Faster Code
|
Balanced Load
|
Resource Efficiency
|
 |
 |
 |
System-wide profiling without debug or trace hardware
Streamline requires only a standard TCP/IP network connection to the target in order to acquire and analyze system-wide performance data. Debug symbols are also not required to be loaded onto the target. Instead, the actual production software image containing Streamline's on-target software can be used for profiling. Additionally, developers have the option to load the debug symbols for the focal binary on the host enabling source-code-level and instruction-level performance analysis.
Embedded-friendly: Small memory footprint, low CPU overhead
Streamline on-target software can optionally stream all collected data over the network connection to the host, therefore not requiring large on-target buffers and allowing performance analyses in the order of hours. Moreover, Streamline's own overhead, which can be controlled by configuring the sampling frequency, is typically lower than 5% and clearly appears in every analysis so that developers have no surprises with probe effect.
Time-based analysis: Find out what flat profiling hides
The Timeline view offers an innovative way to present information about the software running on the target and its impact on performance-related system parameters, such as overall CPU load, cache misses, interrupts and core cycles. It enables developers to easily identify issues linked to thread sequencing, load balance, asynchronous events and much more. The Detail bar complement the Timeline view, conveniently allowing developers to investigate which functions/processes were taking up more CPU time at any particular instant and correlating them to performance counters in just one click.
Identify the critical path
One function may have very different behaviours depending on the call chain that it is in. The Call Paths view shows hierarchical CPU usage statistics aggregated by process and thread, so that developers can check if functions or libraries called within a particular thread use up more CPU time than when called from other places. The Call Graph, in turn, graphically maps the relationships between functions, helping developers to better understand the software flow.