Partilhar via


/GENPROFILE, /FASTGENPROFILE (Gerar criação de perfil instrumentada)

Especifica a geração de um arquivo .pgd pelo vinculador para oferecer suporte à otimização guiada por perfil (PGO). /GENPROFILE e /FASTGENPROFILE usam parâmetros padrão diferentes. Use /GENPROFILE para favorecer a precisão em detrimento da velocidade e do uso de memória durante a criação de perfil. Use /FASTGENPROFILE para favorecer menor uso de memória e velocidade em vez de precisão.

Sintaxe

/GENPROFILE[:profile-argument[,profile-argument ...]]
/FASTGENPROFILE[:profile-argument[,profile-argument ...]]

profile-argument
 { COUNTER32 | COUNTER64 }
 { EXACT | NOEXACT }
MEMMAX= valor
MEMMIN= valor
 { PATH | NOPATH }
 { TRACKEH | NOTRACKEH }
PGD= nome do arquivo

Argumentos

Qualquer um dos argumentos profile-argument pode ser especificado para /GENPROFILE ou /FASTGENPROFILE. Os argumentos listados aqui separados por um caractere pipe (|) são mutuamente exclusivos. Use um caractere de vírgula (,) para separar argumentos. Não coloque espaços entre argumentos, vírgulas ou após os dois pontos (:).

COUNTER32 | COUNTER64
Use COUNTER32 para especificar o uso de contadores de teste de 32 bits e COUNTER64 para especificar contadores de teste de 64 bits. Quando você especifica /GENPROFILE, o padrão é COUNTER64. Quando você especifica /FASTGENPROFILE, o padrão é COUNTER32.

EXACT | NOEXACT
Use EXACT para especificar incrementos intertravados seguros para threads para sondas. NOEXACT especifica operações de incremento desprotegidas para sondas. O padrão é NOEXACT.

MEMMAX = valor, MEMMIN=valor
Use MEMMAX e MEMMIN para especificar os tamanhos de reserva máximo e mínimo para dados de treinamento na memória. O valor é a quantidade de memória a reservar em bytes. Por padrão, esses valores são determinados por uma heurística interna.

PATH | NOPATH
Use PATH para especificar um conjunto separado de contadores PGO para cada caminho exclusivo para uma função. Use NOPATH para especificar apenas um conjunto de contadores para cada função. Quando você especifica /GENPROFILE, o padrão é PATH . Quando você especifica /FASTGENPROFILE, o padrão é NOPATH .

TRACKEH | NOTRACKEH
Especifica se os contadores extras devem ser usados para manter uma contagem precisa quando exceções são lançadas durante o treinamento. Use TRACKEH para especificar contadores extras para uma contagem exata. Use NOTRACKEH para especificar contadores únicos para código que não usa tratamento de exceções ou que não encontra exceções em seus cenários de treinamento. Quando você especifica /GENPROFILE, o padrão é TRACKEH . Quando você especifica /FASTGENPROFILE, o padrão é NOTRACKEH .

PGD = nome do arquivo
Especifica um nome de arquivo base para o arquivo .pgd. Por padrão, o vinculador usa o nome do arquivo de imagem executável base com uma extensão .pgd.

Comentários

As opções /GENPROFILE e /FASTGENPROFILE informam ao vinculador para gerar o arquivo de instrumentação de criação de perfil necessário para dar suporte ao treinamento de aplicativos para otimização guiada por perfil (PGO). Essas opções são novas no Visual Studio 2015. Prefira essas opções às opções /LTCG:PGINSTRUMENT, /PGDe /POGOSAFEMODE preteridas e às variáveis de ambiente PogoSafeMode, VCPROFILE_ALLOC_SCALEe VCPROFILE_PATH. As informações de criação de perfil geradas pelo treinamento do aplicativo são usadas como entrada para otimizações direcionadas de todo o programa durante as compilações. Você também pode definir outras opções para controlar vários recursos de criação de perfil para desempenho durante o treinamento e as compilações de aplicativos. As opções padrão especificadas pelo /GENPROFILE fornecem os resultados mais precisos, especialmente para aplicativos multi-threaded grandes e complexos. A opção /FASTGENPROFILE usa diferentes padrões para uma menor pegada de memória e desempenho mais rápido durante o treinamento, em detrimento da precisão.

As informações de criação de perfil são capturadas quando você executa o aplicativo instrumentado após a compilação usando /GENPROFILE de /FASTGENPROFILE. Essas informações são capturadas quando você especifica a opção /USEPROFILE vinculador para executar a etapa de criação de perfil e, em seguida, usadas para orientar a etapa de compilação otimizada. Para obter mais informações sobre como treinar seu aplicativo e detalhes sobre os dados coletados, consulte Otimizações guiadas por perfil.

Sempre especifique /LTCG quando especificar /GENPROFILE ou /FASTGENPROFILE.

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

  1. Abra a caixa de diálogo Property Pages do projeto. Para obter detalhes, consulte Definir compilador C++ e criar propriedades no Visual Studio.

  2. Selecione as Configuration Properties>Linker>Command Line página de propriedades.

  3. Insira as opções e argumentos /GENPROFILE ou /FASTGENPROFILE na caixa Opções Adicionais. Escolha OK para salvar as alterações.

Para definir essa opção de vinculador programaticamente

Ver também

de referência do vinculador MSVC
opções do vinculador MSVC
/LTCG (Geração de código de tempo de link)