Compartilhar via


/POGOSAFEMODE (Executar PGO no modo thread safe)

A opção /POGOSAFEMODE está preterida desde o Visual Studio 2015. Substitua pelo uso das opções /GENPROFILE:EXACT e /GENPROFILE:NOEXACT. A opção do vinculador /POGOSAFEMODE especifica que o build instrumentado é criado para usar o modo thread-safe para captura de dados de perfil durante execuções de treinamento de PGO (otimização guiada por perfil).

Sintaxe

/POGOSAFEMODE

Comentários

A PGO (otimização guiada por perfil) tem dois modos possíveis durante a fase de criação de perfil: modo rápido e modo de segurança. Quando a criação de perfil está no modo rápido, ela usa uma instrução de incremento para aumentar os contadores de dados. A instrução de incremento é mais rápida, mas não é thread-safe. Quando a criação de perfil está no modo de segurança, ela usa a instrução de incremento interconectado para aumentar os contadores de dados. Esta instrução tem a mesma funcionalidade que a instrução de incremento, é thread-safe, mas é mais lenta.

A opção /POGOSAFEMODE define o build instrumentado para usar o modo de segurança. Essa opção só pode ser usada quando a /LTCG:PGINSTRUMENT preterida for especificada durante a fase do vinculador da instrumentação da PGO.

Por padrão, a criação de perfil da PGO opera no modo rápido. /POGOSAFEMODE só será necessária se você quiser usar o modo de segurança.

Para executar a criação de perfil da PGO no modo de segurança, você deve usar a /GENPROFILE:EXACT (preferencial) ou usar a variável de ambiente PogoSafeMode ou a opção do vinculador /POGOSAFEMODE, dependendo do sistema. Se você estiver executando a criação de perfil em um computador x64, deverá usar a opção do vinculador. Se você estiver executando a criação de perfil em um computador x86, poderá usar a opção do vinculador ou definir a variável de ambiente com qualquer valor antes de iniciar o processo de instrumentação da PGO.

Para definir esta opção do vinculador no ambiente de desenvolvimento do Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  2. Selecione a página de propriedades Propriedades da Configuração>Vinculador>Otimização.

  3. Na propriedade Geração de Código Durante o Tempo de Vinculação, escolha Otimização Guiada por Perfil – Instrumentar (/LTCG:PGInstrument).

  4. Selecione a página de propriedades Propriedades da Configuração>Vinculador>Linha de Comando.

  5. Digite a opção /POGOSAFEMODE na caixa Opções Adicionais. Escolha OK para salvar suas alterações.

Para definir esta opção do vinculador por meio de programação

Confira também

/GENPROFILE e /FASTGENPROFILE
/LTCG
Otimizações guiadas por perfil
Variáveis de ambiente para otimizações guiadas por perfil