プロファイル指示フィードバック (PDF)

プロファイル指示フィードバックは、一般的なプログラム動作のデータ特性を持つコンパイラーを提供する、2 段階のコンパイル・プロセスです。 装備された実行可能ファイルは、任意の時間、さまざまなシナリオで実行され、副次作用としてプロファイル・データ・ファイルを作成します。 プロファイル・データを使用した 2 回目のコンパイルは、最適化された実行可能ファイルを作成します。

PDF は、条件付エラー処理またはインスツルメンテーションをまれにしか実行しなかったコードで主に使用されます。 この技法は、ファーム・プロファイル情報がない場合に中間的な効果を持っていますが、不十分な、または特性のない データしか使用可能でない場合はお勧めできません。

下の図は PDF プロセスを示しています。


プロファイル指示フィードバック

プロセスの 2 つのステージは、コンパイラー・オプション -qpdf1-qpdf2 で制御されます。 ステージ 1 は最適化オプションの任意セットと -qpdf1 を使用した通常の コンパイルで、任意の時間、さまざまなシナリオで実行できる実行可能ファイルまたは共用オブジェクトを 作成します。 ステージ 2 は -qpdf1 の代わりに -qpdf2 を 使用すること以外は同じオプションを使用した再コンパイルで、その間コンパイラーは、パス偏向最適化の目的で以前に収集された データを消費します。

プロファイル指示フィードバック (PDF) の使用

アプリケーションが異なるコード・セクションを実行する頻度の分析に基づいて、以下のようにアプリケーションを最適化できます。

  1. -qpdf1 を使用してアプリケーションをコンパイルする。
  2. 標準のデータ・セットを 1 つ以上使用して、アプリケーションを実行する。 アプリケーションが存在する場合は、PDF ファイルにプロファイル情報が書き込まれます。
  3. -qpdf2 を使用してアプリケーションをコンパイルする。

最も頻繁に使用される関数を確認するには、次の作業を行います。

  1. -qpdf1 -qshowpdf を使用してアプリケーションを コンパイルする。
  2. 標準のデータ・セットを 1 つ以上使用して、アプリケーションを実行する。 アプリケーションによって、PDF ファイルに詳細なプロファイル情報が書き込まれます。
  3. showpdf ユーティリティーを使用して、PDF ファイルで情報を表示する。

次のようにして、PDF ファイルの生成をさらに制御できます。

  1. -qpdf1 を使用してアプリケーションをコンパイルする。
  2. 標準のデータ・セットを 1 つ以上使用して、アプリケーションを実行する。 これによって、現行ディレクトリーに PDF ファイルが作成されます。
  3. アプリケーションを別のディレクトリーにコピーし、再実行する。 これによって、2 番目のディレクトリーに PDF ファイルが作成されます。
  4. 前のステップを必要なだけ繰り返す。
  5. mergepdf ユーティリティーを使用して、複数の PDF ファイルを 1 つの PDF ファイルに結合する。たとえば、それぞれ 53%、32%、15% の時点で 実行される使用パターンを表す 3 つの PDF ファイルを作成する場合は、次の コマンドを使用できます。
      mergepdf -r 53 path1  -r 32 path2  -r 15 path3
    
  6. -qpdf2 を使用してアプリケーションをコンパイルする。

PDF ディレクトリーの情報を消去するには、cleanpdf または resetpdf ユーティリティーを使用します。

条件付き分岐の最適化

-qpdf オプションは、条件付き分岐の周辺区域を微調整して、デフォルトの選択項目を最も可能性の 高い実行パスに対応させるのに役立ちます。 スローダウンを防ぐため、最も可能性の高い実行パスにある命令が、分岐の前に他の命令と並行して実行される場合もあります。

-qpdf オプションは余分なコンパイル・オーバーヘッドと代表的なデータを使用したサンプル実行を 必要とするため、開発サイクルの終わり近くで使用してください。

関連情報:
IBM Copyright 2003