/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
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.
Selecione a página de propriedades Propriedades da Configuração>Vinculador>Otimização.
Na propriedade Geração de Código Durante o Tempo de Vinculação, escolha Otimização Guiada por Perfil – Instrumentar (/LTCG:PGInstrument).
Selecione a página de propriedades Propriedades da Configuração>Vinculador>Linha de Comando.
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
- Consulte AdditionalOptions.
Confira também
/GENPROFILE e /FASTGENPROFILE
/LTCG
Otimizações guiadas por perfil
Variáveis de ambiente para otimizações guiadas por perfil