/USEPROFILE (スレッド セーフ モードでの PGO の実行)

このリンカー オプションを /LTCG (リンク時のコード生成) と共に使用すると、ガイド付き最適化のプロファイル (PGO) トレーニング データを使用してビルドを行うように、リンカーに指示が送られます。

構文

/USEPROFILE[:{AGGRESSIVE|PGD=filename}]

引数

AGGRESSIVE
この省略可能な引数は、最適化されたコード生成を行う際に、積極的な速度最適化を使用するよう指定するものです。

PGD=filename
.pgd ファイルの基本ファイル名を指定します。 既定では、リンカーは、基本の実行可能ファイル名に .pgd 拡張子を付けたものを使用します。

解説

/USEPROFILE リンカー オプションを /LTCG と共に使用すると、最適化されたビルドを PGO トレーニング データに基づいて生成または更新できます。 これは、非推奨となった /LTCG:PGUPDATE オプションと /LTCG:PGOPTIMIZE オプションに相当するものです。

省略可能な AGGRESSIVE 引数を指定すれば、サイズ関連のヒューリスティックを無効にして、速度の最適化を試行できます。 これを行った場合、実行可能ファイルのサイズが大幅に増加し、結果的に速度が向上しない可能性もあります。 AGGRESSIVE を使用した場合と使用しなかった場合の結果をプロファイリングし、比較するようにしてください。 この引数は明示的に指定する必要があります。既定では有効になりません。

PGD 引数では、使用するトレーニング データ (.pgd ファイル) の名前を任意で指定できます (/GENPROFILE や /FASTGENPROFILE の場合と同様)。 これは、非推奨となった /PGD スイッチに相当するものです。 既定では (または filename が指定されなかった場合は)、実行可能ファイルと同じ基本名を持つ .pgd ファイルが使用されます。

/USEPROFILE リンカー オプションは、Visual Studio 2015 の新機能です。

Visual Studio 開発環境でこのリンカー オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。

  2. [構成プロパティ]>[リンカー]>[最適化] プロパティ ページを選択します。

  3. [リンク時のコード生成] プロパティで、[リンク時のコード生成 (/LTCG) を使用] を選択します。

  4. [構成プロパティ]>[リンカー]>[コマンド ライン] プロパティ ページを選択します。

  5. /USEPROFILE オプションと任意指定の引数を [追加のオプション] ボックスに入力します。 [OK] を選択して変更を保存します。

このリンカーをコードから設定するには

関連項目

/GENPROFILE と /FASTGENPROFILE
/LTCG
プロファイルに基づく最適化
プロファイルに基づく最適化の環境変数