Go to main content
Oracle Solaris 11 移行の開発ガイド

印刷ビューの終了

更新: 2016 年 11 月
 
 

フィードバックプロファイリングの使用

Oracle Solaris Studio のフィードバックプロファイリングを使用すると、アプリケーションのバイナリを最適化できます。フィードバックプロファイリングでは、アプリケーションを 2 回 (プロファイルデータ収集のために 1 回、そのプロファイルを使用した最適なコード生成のために 1 回) ビルドします。この使用例では、次のフィードバックプロファイリングの手順を使用しています。

  1. 環境変数 SUN_PROFDATA_DIR を設定して、生成されるプロファイルディレクトリの場所を指定します。

    # setenv SUN_PROFDATA_DIR /tmp/consolidate

    プロファイルディレクトリは、/tmp/consolidate フォルダに格納されます。

  2. 環境変数 SUN_PROFDATA を設定して、製品のプロファイルデータを単一のファイルに記録します。

    # setenv SUN_PROFDATA singlefeedbin.profile

    プロファイルデータは、singlefeedbin.profile ファイルに格納されます。

  3. –xprofile オプションを使用してバイナリをコンパイルします。

    -xprofile={collect,tcov}:xxx.profile

    –collect オプションはプログラムに関するデータ収集に役立ち、–tcov オプションはプログラムの実行後にコードカバレージを提供します。

  4. リアルタイム環境を模した典型的なワークロードを使用してアプリケーションを実行します。

    プログラムのこのような実行中の動作に関する情報は、ステップ 2 で作成した .profile ディレクトリに保存されます。

  5. profile データを使用して、バイナリを再コンパイルします。

    -xprofile=use:/path/to/xxx.profile

    –use オプションは、プロファイルデータに基づいて次の最適化を実行します。

    • コードのレイアウト

    • レジスタの割り当て

    • ループの変換

    • 分岐の最適化

    • ブロックの整理

    • switch case コードの生成

    • グローバル命令のスケジューリング

    • 遅延スロットのスケジューリング

    • 分岐の予測