Compartilhar via


Como mesclar vários perfis PGO em um único perfil

A PGO (otimização guiada por perfil) é uma ótima ferramenta para criar binários otimizados com base em um cenário com perfil. Mas, e se você tiver um aplicativo com vários cenários importantes porém distintos? Como você criará um único perfil que a PGO poderá usar em vários cenários diferentes? No Visual Studio, o Gerenciador de PGO, pgomgr.exe, fará isso para você.

A sintaxe para mesclar perfis é:

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

onde num é um peso opcional a ser usado para os arquivos .pgc adicionados por essa mesclagem. Pesos geralmente serão utilizados se houver alguns cenários mais importantes do que outros ou se houver cenários que deverão executar várias vezes.

Observação

O Gerenciador de PGO não funcionará com dados de perfil obsoletos. Para mesclar um arquivo .pgc em um arquivo .pgd, o arquivo .pgc deverá ser gerado por um executável que foi criado pela mesma invocação de link que gerou o arquivo .pgd.

Exemplos

Neste exemplo, o Gerenciador de PGO adicionará pgcFile.pgc a pgdFile.pgd seis vezes:

pgomgr /merge:6 pgcFile.pgc pgdFile.pgd

Neste exemplo, o Gerenciador de PGO adicionará pgcFile1.pgc e pgcFile2.pgc a pgdFile.pgd, duas vezes para cada arquivo .pgc:

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

Se o Gerenciador de PGO executar sem nenhum argumento de arquivo .pgc, ele procurará no diretório local todos os arquivos .pgc que tenham o mesmo nome base do arquivo .pgd seguido por um ponto de exclamação (!) e, em seguida, um ou mais caracteres arbitrários. Por exemplo, se o diretório local tiver os arquivos test.pgd, test!1.pgc, test2.pgc e test!hello.pgc, e o seguinte comando executar a partir do diretório local, o pgomgr mesclará test!1.pgc e teste!hello.pgc em test.pgd.

pgomgr /merge test.pgd

Confira também

Otimizações guiadas por perfil