ここでは、プロファイルに基づく最適化で最もよく使用されるオプションについて説明します。
次のオプションが PGO のフェーズで使用されます。PGO を拡張するオプションについては、「高度な PGO オプション」を参照してください。
Windows* |
Linux* |
効果 |
---|---|---|
/Qprof-gen /Qprof-genx |
-prof-gen -prof-genx |
各基本ブロックの実行カウントを取得するために、プロファイリング用にプログラムをインストルメントします。これは、PGO のフェーズ 1 (インストルメント済みコードの生成) で使用され、インストルメント済み実行の準備として、インストルメント済みコードをオブジェクト・ファイル内に生成するようにコンパイラーに指示します。動的情報 (.dyn) ファイルが生成されます。 x 修飾子を付けると、オプションは proforder ユーティリティーやコード・カバレッジ・ツールのような特定のツールで使用できる補足ソース情報を収集します。 並列 make を行っている場合、このオプションは並列 make に影響を与えません。 詳細は、次のトピックを参照してください。
|
/Qprof-use |
-prof-use |
プロファイルによって最適化された実行ファイルを生成し、使用できる動的情報 (.dyn) ファイルを pgopti.dpi ファイルにマージするようにコンパイラーに指示します。このオプションは、PGO のフェーズ 3 (プロファイルによって最適化された実行ファイルの生成) で使用されます。
|
/Qprof-format-32 |
-prof-format-32 |
32 ビット・カウンターの使用: 本リリースからこのオプションの使用は推奨しません。デフォルトでは、インテル(R) コンパイラーは、.dyn および .dpi ファイルにおける多数のイベントを処理するために 64 ビット・カウンターを作成します。
|
/Qfnsplit- |
-fnsplit- |
関数分割を無効にします。関数分割はフェーズ 3 で -prof-use (Linux) または /Qprof-use (Windows) オプションにより有効になります。これは、ルーチンを異なるセクションに分割することによって、コードの局所性を向上させるためです。異なるセクションとは、コールドまたは、あまり実行されないコードを含むセクションと、残りのコード (ホットコード) を含むセクションです。 次のような場合、関数分割を無効にします。
|