次の方法で共有


方法 : 複数の PGO プロファイルを単一のプロファイルにマージする

ガイド付き最適化のプロファイル (PGO: Profile-Guided Optimization) は、プロファイリングされているシナリオに基づいて最適化バイナリを作成するための優れたツールです。 しかし、アプリケーションに、重要なシナリオが別個に複数ある場合、それらの複数の異なるシナリオから PGO が使用できる単一のプロファイルを作成するにはどうすればいいでしょうか。 Visual Studio では、PGO Manager の Pgomgr.exe がこのジョブを実行します。

プロファイルをマージする構文は、次のとおりです。

pgomgr /merge[:num] [.pgc_files] .pgd_files

num は、このマージで使用される省略可能なウェイトです。 ウェイトは、他のシナリオよりも重要なシナリオがある場合、または複数回実行されるシナリオがある場合によく使用されます。

注意

PGO Manager は、古いプロファイル データでは使用できません。 .pgc ファイルを .pgd ファイルにマージするには、その .pgc ファイルが、.pgd ファイルを生成したのと同じリンク呼び出しで作成された実行可能ファイルによって生成される必要があります。

使用例

この例では、PGO Manager が pgcFile.pgc を pgdFile.pgd に 6 回追加します。

pgomgr /merge:6 pgcFile.pgc pgdFile.pgd

この例では、PGO Manager が pgcFile1.pgc および pgcFile2.pgc を pgdFile.pgd にそれぞれ 2 回ずつ追加します。

pgomgr /merge:2 pgcFile1.pgc pgcFile2.pgc pgdFile.pgd

PGO Manager は、.pgc ファイルを指定しないで実行されている場合は、ローカル ディレクトリで、.pgd ファイルと同じ名前に、感嘆符 (!)、続いて任意の文字が付け加えられた .pgc ファイルをすべて検索します。 ローカル ディレクトリに、test.pgd、test!1.pgc、test2.pgc、および test!hello.pgc というファイルがあり、次のコマンドがローカル ディレクトリから実行されている場合、test!1.pgc および test!hello.pgc が test.pgd にマージされます。

pgomgr /merge test.pgd

参照

参照

ガイド付き最適化のプロファイル