Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Utilize SPDConvert para preparar e gerir dados de perfil de amostras para a Otimização guiada por perfis de amostras (SPGO).
Esta ferramenta correlaciona as amostras de hardware brutas nos ficheiros SPT com a estrutura de código no SPD. Esta etapa realiza decisões de correlação de amostras, suavização de fluxo e tamanho/velocidade, e produz um ficheiro SPD enriquecido com contagens de execuções anotadas no gráfico de fluxo.
Pode combinar dados de múltiplas fontes, como benchmarks laboratoriais, monitorização interna e telemetria de produção, numa única conversão. Para enfatizar a importância de um determinado cenário, pode especificar o respetivo ficheiro SPT várias vezes. Indicar três vezes um benchmark crítico SPT triplica efetivamente a sua ponderação.
Esta ferramenta opera em três modos:
- importar dados .SPT para um ficheiro .SPD para compilações /SPGO
- extrair um ficheiro .SPD incorporado de um ficheiro .PDB
- combinar vários ficheiros .SPD de execuções de criação de perfil separadas
SPDConvert Funciona com três tipos de ficheiros:
-
ETL (Event Trace Log) Eventos brutos de desempenho de hardware registados por
xperf -
SPT (Sample Profile Trace) Eventos de exemplo em pacote produzidos por
SPTAggregatea partir de ficheiros ETL -
SPD (Sample Profile Database) Processava dados de perfil usados pelo compilador durante uma compilação otimizada. Também podes incorporar ficheiros SPD em ficheiros de símbolos PDB durante uma
/spdembedbuild
Syntax
Importar dados SPT para um ficheiro SPD existente:
SPDConvert[opções] Spdfilesptfile(s)
Extrair um ficheiro SPD embutido de um PDB:
SPDConvert/extractpdbfilespdfile
Junte vários ficheiros SPD num só:
SPDConvert/mergeoutputspdfilespdfile(s)
Parâmetros
MODO DE IMPORTAÇÃO
Opções
Especifique as seguintes opções no modo de importação:
- /modo:<IP|LBR> Seleciona o modo perfil. Utilize IP para dados de criação de perfil do ponteiro de instrução (por defeito) ou LBR para dados de criação de perfil do registo do último desvio.
- /reset: Reinicia a contagem para 0. Esta ação ignora os SPTs. Use esta opção para reiniciar um ficheiro SPD antes de importar novos dados, ou para criar um ficheiro SPD vazio se o ficheiro especificado não existir.
- /sptlist:<ficheiro> Especifique nomes de ficheiros SPT num ficheiro de texto, com um nome de ficheiro por linha.
- /resumo Imprima um resumo do ficheiro SPD.
- /ajuda Mostre informações de ajuda.
spdfile
O ficheiro SPD para importar dados de amostra.
sptfiles
Um ou mais ficheiros SPT para importar. Os ficheiros SPT são produzidos pelo SPTAggregate.
MODO DE EXTRAÇÃO (/EXTRACT)
pdbfile
O ficheiro PDB que contém um SPD incorporado.
spdfile
O ficheiro SPD de saída a criar.
MODO DE FUSÃO (/MERGE)
outputspdfile
O ficheiro SPD de saída a criar.
/retire:<N> Defina a taxa de retirada dos dados do perfil para N/16, em que 0 ≤ N ≤ 16. O padrão é 8. Este valor controla quanto dos dados existentes num SPD deve ser eliminado ao adicionar novos dados SPT. Por exemplo, /retire:8 elimina 8/16 (metade) dos dados existentes antes de adicionar novos dados de SPT. Esta definição valoriza mais os dados de perfil mais recentes porque descarta metade dos dados mais antigos. As duas utilizações mais comuns são /retire:0, que dá o mesmo peso a todas as execuções do perfil, ou /retire:16, para que apenas os dados mais recentes contem, porque apaga todos os dados antigos. Utilize /retire:N para controlar quão agressivamente SPDConvert atribui menos importância a dados de perfil mais antigos. Este conceito de "carry forward" permite atualizar um perfil usando dados SPD existentes sem começar de novo com novos dados de perfil, o que consome muito tempo. Este conceito é discutido mais no tutorial SPGO - Reutilização de informação SPD entre builds.
spdfiles
Um ou mais ficheiros SPD para fundir.
Remarks
Note
Execute esta ferramenta a partir de um prompt de comandos para programador do Visual Studio.
SPDConvert é a principal ferramenta de conversão no fluxo de trabalho SPGO. Após recolher um traço usando xperf e convertendo-o num ficheiro SPT usando SPTAggregate, use SPDConvert para importar os dados da amostra para um ficheiro SPD. Passe o ficheiro SPD resultante para o compilador usando a /SPGO flag para construir um binário otimizado.
Use /extract para recuperar um ficheiro SPD que estava embutido num PDB durante uma /SPGO compilação.
Utilize /merge para combinar ficheiros SPD de várias sessões de criação de perfis antes de reconstruir.
O GUID e a idade de um binário devem coincidir entre os ficheiros SPT e SPD. Se não coincidirem, SPDConvert reporta um erro de "versão SPD incompatível".
SPTDump /progid Use para verificar os identificadores binários no ficheiro SPT e SPDDump /header para verificar o ficheiro SPD.
O GUID e a idade do binário registado no ficheiro SPD devem corresponder ao ficheiro SPT. Para diagnosticar este erro, utilize-se SPTDump /progid para inspecionar os identificadores binários no ficheiro SPT e SPDDump /header para inspecionar o ficheiro SPD. Um ficheiro SPD válido é usado na medida do possível. Pequenas atualizações ao código que não alteram o fluxo de controlo do programa são toleradas. As funções inalteradas também utilizam os dados para otimização. Se fornecer um SPD válido, mas que, de resto, não esteja relacionado, o processo funciona, mas provavelmente nenhum dado pode ser utilizado para otimização.
Example
Este exemplo importa dados de perfil LBR de um ficheiro SPT para um ficheiro SPD:
SPDConvert /mode:LBR sample.spd sample.spt
Este exemplo importa dados de perfil IP utilizando uma lista de ficheiros SPT:
SPDConvert /mode:IP /sptlist:mysptfiles.txt sample.spd
Este exemplo imprime um resumo dos dados do perfil num ficheiro SPD:
SPDConvert /summary sample.spd
Este exemplo extrai o SPD embutido de um ficheiro PDB:
SPDConvert /extract sample.pdb sample_extracted.spd
Este exemplo combina dois ficheiros SPD de diferentes execuções de criação de perfil:
SPDConvert /merge combined.spd run1.spd run2.spd
Ver também
Tutorial: Usar a Otimização Guiada por Perfis de Amostragem (SPGO) para melhorar o desempenho
SPDDump
SPTAggregate
SPTDump