プロファイルに基づく最適化(PGO)

Note

SOLID 3.3.0 以降で使用できます。

概要

カバレッジの目的で取得したプロファイリングデータを基に、コンパイラが最適化を実行します。 通常のコンパイル時の最適化では得られない情報を活用できるため、パフォーマンスの向上やコードサイズの削減が期待できます。

この機能を使用するには、対象のプログラムの一般的なワークロードを、一度プロファイルモードで実行する必要があります。 プロファイルモード時の計測範囲が不十分だった場合、期待通りの最適化ができない場合がありますので注意してください。


使い方

  1. コードカバレッジ を参考にして、カバレッジ情報を取得してください。

  2. 構成プロパティ ‣ C/C++ ‣ コードカバレッジ ‣ コードカバレッジの有効化いいえ に設定し無効化します。

  3. プロジェクトのプロパティ ‣ プログラムの最適化 ‣ PGO ‣ プロファイルに基づく最適化はい に設定します。

    Note

    コンパイルエラーを避けるため、カバレッジ機能は必ずオプションで無効化しておいてください。 また、カバレッジで得られたプロファイルデータのファイル名 default.profdata やパスを変更した場合は、プロファイルデータファイル にフルパスで指定してください。

    ../_images/pgo.png
  4. ビルドを実行すると、コンパイル時の最適化にカバレッジデータが使用されるようになります。