Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use SPDConvert para preparar e gerenciar dados de perfil de amostra para SPGO (Otimização guiada por perfil de amostra).
Essa ferramenta correlaciona os exemplos de hardware bruto em arquivos SPT em relação à estrutura de código no SPD. Esta etapa executa exemplos de correlação, suavização de fluxo e decisões de tamanho/velocidade e produz um arquivo SPD enriquecido com contagens de execução anotadas no grafo de fluxo.
Você pode combinar dados de várias fontes, como parâmetros de comparação de laboratório, monitoramento interno e telemetria de produção, em uma única conversão. Para enfatizar a importância de um cenário específico, você pode especificar seu arquivo SPT várias vezes. Listar três vezes um benchmark crítico, o SPT, efetivamente triplica seu peso.
Essa ferramenta opera em três modos:
- importar dados .SPT para um arquivo .SPD para compilações do /SPGO
- extrair um arquivo .SPD incorporado de um arquivo .PDB
- mesclar vários arquivos .SPD de execuções de criação de perfil separadas
SPDConvert funciona com três tipos de arquivo:
-
ETL (Log de Rastreamento de Eventos) Eventos brutos de desempenho de hardware registrados por
xperf -
SPT (Rastreamento do Perfil de Amostra) Eventos de amostra empacotados produzidos por
SPTAggregatea partir de arquivos ETL -
SPD (Banco de Dados de Perfis de Amostra) Dados de perfil processados usados pelo compilador durante uma compilação otimizada. Você também pode inserir arquivos SPD em arquivos de símbolo PDB durante um
/spdembedbuild
Sintaxe
Importar dados SPT para um arquivo SPD existente:
SPDConvert[opções] spdfilesptfile(s)
Extraia um arquivo SPD incorporado de um PDB:
SPDConvert/extractpdbfilespdfile
Mesclar vários arquivos SPD em um:
SPDConvert/mergeoutputspdfilespdfile(s)
Parâmetros
MODO DE IMPORTAÇÃO
Opções
Especifique as seguintes opções no modo de importação:
- /Modo:<IP|LBR> Selecione o modo de perfil. Use IP para dados de perfil do ponteiro de instrução (padrão) ou LBR para dados de perfil de registro do último desvio.
- /redefinir: Redefine a contagem para 0. Essa ação ignora SPTs. Use essa opção para redefinir um arquivo SPD antes de importar novos dados ou criar um arquivo SPD vazio se o arquivo especificado não existir.
- /sptlist:<Arquivo> Especifique nomes de arquivo SPT em um arquivo de texto, com um nome de arquivo por linha.
- /Resumo Imprima um resumo do arquivo SPD.
- /Ajuda Exibir informações de ajuda.
spdfile
O arquivo SPD no qual importar dados de exemplo.
sptfiles
Um ou mais arquivos SPT a serem importados. Os arquivos SPT são produzidos pelo SPTAggregate.
MODO DE EXTRAÇÃO (/extração)
Pdbfile
O arquivo PDB que contém um SPD inserido.
spdfile
O arquivo SPD de saída a ser criado.
MODO DE MESCLAGEM (/mesclagem)
outputspdfile
O arquivo SPD de saída a ser gerado.
/retire:<N> Define a taxa de retirada dos dados do perfil como N/16, em que 0 ≤ N ≤ 16. O padrão é 8. Esse valor controla a quantidade de dados existentes em um SPD a ser excluído ao adicionar novos dados SPT. Por exemplo, /retire:8 exclui 16/8 (metade) dos dados existentes antes de adicionar novos dados SPT. Essa configuração pondera mais fortemente os dados de perfil mais recentes porque descarta metade dos dados mais antigos. Os dois usos mais comuns são /retire:0, que dá o mesmo peso a todas as execuções de perfil, ou /retire:16, para fazer com que apenas os dados mais recentes contem, porque ele exclui todos os dados antigos. Use /retire:N para controlar quão agressivamente SPDConvert reduz a importância dos dados de perfil mais antigos. Esse conceito de "transferência" permite que você atualize um perfil com dados SPD existentes sem precisar recomeçar com novos dados de perfil, o que demanda tempo. Esse conceito é discutido mais no tutorial do SPGO – reutilização de informações do SPD entre builds.
spdfiles
Um ou mais arquivos SPD a serem mesclados.
Observações
Note
Execute essa ferramenta em um prompt de comando do desenvolvedor Visual Studio.
SPDConvert é a principal ferramenta de conversão no fluxo de trabalho SPGO. Depois de coletar um rastreio usando xperf e convertê-lo em um arquivo SPT usando SPTAggregate, use SPDConvert para importar os dados de amostra para um arquivo SPD. Passe o arquivo SPD resultante para o compilador usando o /SPGO sinalizador para criar um binário otimizado.
Use /extract para recuperar um arquivo SPD que foi inserido em um PDB durante um /SPGO build.
Use /merge para combinar arquivos SPD de várias sessões de criação de perfil antes de recompilar.
O GUID e a idade de um binário devem coincidir nos arquivos SPT e SPD. Se eles não corresponderem, SPDConvert relatará um erro de "versão do SPD incompatível". Use SPTDump /progid para verificar os identificadores binários no arquivo SPT e SPDDump /header verificar o arquivo SPD.
O GUID e a idade do binário registrado no arquivo SPD devem corresponder ao arquivo SPT. Para diagnosticar esse erro, use SPTDump /progid para inspecionar os identificadores binários no arquivo SPT e SPDDump /header inspecionar o arquivo SPD. Um arquivo SPD válido é usado na medida do possível. Pequenas atualizações no código que não alteram o fluxo de controle do programa são toleradas. Funções inalteradas também usam os dados para otimização. Se você fornecer um SPD válido, mas não relacionado, o processo funcionará, mas provavelmente nenhum dado poderá ser usado para otimização.
Example
Este exemplo importa dados de perfil LBR de um arquivo SPT para um arquivo SPD:
SPDConvert /mode:LBR sample.spd sample.spt
Este exemplo importa dados de perfil IP usando uma lista de arquivos SPT:
SPDConvert /mode:IP /sptlist:mysptfiles.txt sample.spd
Este exemplo imprime um resumo dos dados de perfil em um arquivo SPD:
SPDConvert /summary sample.spd
Este exemplo extrai o SPD inserido de um arquivo PDB:
SPDConvert /extract sample.pdb sample_extracted.spd
Este exemplo mescla dois arquivos SPD de diferentes execuções de criação de perfil:
SPDConvert /merge combined.spd run1.spd run2.spd
Consulte também
Tutorial: usar a SPGO (Otimização Guiada por Perfil de Amostra) para melhorar o desempenho
SPDDump
SPTAggregate
SPTDump