ARMは、ARMプロセッサを搭載した機器上で実行されるLinuxアプリケーションを最適化するツール「Streamlineパフォーマンス・アナライザ」を発表した。

同ツールは、解析データを自動的に収集し、グラフを使ったわかりやすいレポートを生成することが可能。これによりソフトウェア開発者は、アプリケーションのホットスポット、マルチスレッディング上の問題、システム・リソースの非効率的な使用を容易に発見することが可能となる。

また、ARM搭載機器とのTCP/IP接続だけで、プロセッサのプログラム・カウンタやパフォーマンス・カウンタのサンプルを収集することが可能で、接続を低コストにできるため、ターゲットのメモリ・リソースに関係なく、Linuxソフトウェア・スタック全体の長時間にわたる解析が可能だ。

収集した解析データは、数秒で処理され、ソフトウェア実行のシステム・レベル・ビューとして表示されるほか、ソフトウェアのさまざまな領域の解析に焦点を絞って再処理できるため、収集を何度も実行する必要はないという特長を持つ。

また、開発者は、同ツールのGUIに従い、Linuxのドライバ、ライブラリ、アプリケーションを簡単に最適化することが可能なほか、プロファイリング・レポートは、プロセスからスレッド、関数、ソース・コード、アセンブリ・コードのレベルまで解析でき、重要な性能領域の特定などを行うことが可能となっている。さらに、コード内の各コール・パスについてスタックの使用状況がレポート表示されるため、開発者は、各スレッドのダイナミック・メモリ必要量を最小化するよう、適切な関数に注力することが可能だ。

さらに、アクティブなプロセス、スレッド、関数、およびキャッシュ・ミスやプロセッサ・ロードなどパフォーマンス・カウンタ関連情報の時間的相関関係を示す独自のタイムライン・ビューも搭載。同タイムライン・ビューにより、開発者は、マルチスレッド・アプリケーションの実装における非効率な部分を特定し、パフォーマンス・ボトルネック、最適でないキャッシュ使用、電力を浪費するアイドル・ループ、そのほかシステム全体にわたる多くの性能問題の原因となっているコード領域を把握することが可能となる。

専用のカーネル・モジュールは、カーネル2.6.32以降をベースとするARMLinuxシステムと互換性を持ち、幅広い性能関連データを収集しつつ、ツールの平均オーバヘッドを5%未満に抑えることが可能。オープン・ソース・ドライバであり、Linaroカーネルをベースとするものを含め、一般的なARM Linux BSPに統合されるため、ユーザは、システムを立ち上げた時点からソフトウェアの最適化を開始することが可能となっている。

なお、Streamlineは、WindowsおよびLinuxのホスト・プラットフォームに対応するARM Development Studio 5(DS-5)のコンポーネントとしてすでに提供中となっている。