Variáveis de ambiente para otimizações orientadas a perfil
Há três variáveis de ambiente que afetam cenários de teste em uma imagem criada com /LTCG:PGI para otimizações guiadas por perfil:
PogoSafeMode especifica se o modo rápido ou seguro deve ser usado para criação de perfil de aplicativo.
VCPROFILE_ALLOC_SCALE adiciona memória adicional para uso pelo criador de perfil.
VCPROFILE_PATH permite especificar a pasta usada para arquivos .pgc.
As variáveis de ambiente PogoSafeMode e VCPROFILE_ALLOC_SCALE foram preteridas a partir do Visual Studio 2015. As opções do vinculador /GENPROFILE ou /FASTGENPROFILE e /USEPROFILE especificam o mesmo comportamento do vinculador que essas variáveis de ambiente.
PogoSafeMode
Essa variável de ambiente foi preterida. Use os argumentos EXACT ou NOEXACT para /GENPROFILE ou /FASTGENPROFILE para controlar esse comportamento.
Desmarque ou defina a variável de ambiente PogoSafeMode para especificar se deve usar o modo rápido ou seguro para criação de perfil de aplicativo em sistemas x86.
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 estiver no modo rápido, ela usará uma instrução INC para aumentar os contadores de dados. A instrução INC é mais rápida, mas não é thread-safe. Quando a criação de perfil estiver no modo de segurança, ela usará uma instrução LOCK INC para aumentar os contadores de dados. A instrução LOCK INC tem a mesma funcionalidade que a instrução INC, e é thread-safe, mas é mais lenta do que a instrução INC .
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 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 PogoSafeMode com qualquer valor antes de iniciar o processo de otimização.
Sintaxe de PogoSafeMode
set PogoSafeMode[=valor]
Defina PogoSafeMode como qualquer valor para habilitar o modo de segurança. Defina sem um valor para limpar um valor anterior e reabilitar o modo rápido.
VCPROFILE_ALLOC_SCALE
Essa variável de ambiente foi preterida. Use os argumentos MEMMIN e MEMMAX para /GENPROFILE ou /FASTGENPROFILE para controlar esse comportamento.
Modifique a variável de ambiente VCPROFILE_ALLOC_SCALE para alterar a quantidade de memória alocada para manter os dados de perfil. Em casos raros, não haverá memória suficiente disponível para dar suporte à coleta de dados de perfil ao executar cenários de teste. Nesses casos, você pode aumentar a quantidade de memória definindo VCPROFILE_ALLOC_SCALE. Se você receber uma mensagem de erro durante uma execução de teste que indica que você não tem memória suficiente, atribua um valor maior a VCPROFILE_ALLOC_SCALE, até que o teste seja executado sem erros de memória insuficiente.
Sintaxe de VCPROFILE_ALLOC_SCALE
set VCPROFILE_ALLOC_SCALE[=scale_value]
O parâmetro scale_value é um fator de escala para a quantidade de memória desejada para executar cenários de teste. O padrão é 1. Por exemplo, essa linha de comando define o fator de escala como 2:
set VCPROFILE_ALLOC_SCALE=2
VCPROFILE_PATH
Use a variável de ambiente VCPROFILE_PATH para especificar o diretório para criação de arquivos .pgc. Por padrão, os arquivos .pgc são criados no mesmo diretório que o binário para o qual está sendo criado um perfil. No entanto, se o caminho absoluto do binário não existir, como pode ser o caso quando você executa cenários de perfil em um computador diferente de onde o binário foi criado, você poderá definir VCPROFILE_PATH como um caminho que existe no computador de destino.
Sintaxe de VCPROFILE_PATH
set VCPROFILE_PATH[=path]
Defina o parâmetro path como o caminho do diretório no qual adicionar arquivos .pgc. Por exemplo, essa linha de comando define a pasta como C:\profile:
set VCPROFILE_PATH=c:\profile
Confira também
Otimizações guiadas por perfil
/GENPROFILE e /FASTGENPROFILE
/USEPROFILE