Demonstra Passo a passo: Aplicativos de criação de perfil
Esta explicação passo a passo demonstra como criar o analisar de um aplicativo para identificar problemas de desempenho.
Esta explicação passo a passo, você irá através do processo de criação de perfil um aplicativo gerenciado e usando amostragem e instrumentação para isolar e identificar problemas de desempenho do aplicativo.
Nesta explicação passo a passo, você irá siga estas etapas:
analisar de um aplicativo usando o método de amostragem.
Analise os resultados da criação de perfil amostrados para localizar e corrigir um problema de desempenho.
Criar o analisar de uma aplicação usando o método de instrumentação.
Analise os resultados da criação de perfil instrumentados para localizar e corrigir um problema de desempenho.
Pré-requisitos
Microsoft Visual Studio 2005 Team System.
Compreensão intermediária das translation from VPE for Csharp.
Uma cópia do Exemplo de PeopleTrax (ferramentas de criação de perfil).
Para trabalhar com as informações fornecidas pela criação de perfil, é melhor ter símbolo disponível as informações de depuração.
Criação de perfil usando o método de amostragem
Amostragem é um método de perfilação pelo qual o processo em questão é monitorado periodicamente para determinar a função ativo.Os dados resultantes fornecem uma contagem de freqüência a função em questão estava no topo da pilha de chamadas quando o processo foi usado como amostra.
Para criar o analisar de um aplicativo usando o método de amostragem
em aberto a solução PeopleTrax Microsoft Visual Studio 2005.
A solução PeopleTrax agora preenche gerenciador de soluções.
Sobre o Analisar menu, clicar inicialização o Assistente de desempenho.
O desempenho assistente aparece.
From a Destinos disponível na lista suspensa, selecionar PeopleTrax e, em seguida, clicar Próximo.
clicar Amostrageme, em seguida, clicar Próximo.
Clique em Finish.
Defina a configuração de configuração do projeto Versão.
É recomendável usar uma versão de compilação para detectar problemas de desempenho em seu aplicativo.
Uma versão de compilação é recomendada para a criação de perfil porque uma compilação de depurar tem informações adicionais compiladas em que podem afetar o desempenho negativamente e falhar ilustrar os problemas de desempenho com precisão.
Uma versão de compilação não automaticamente confere a você informações de símbolo.Para configurar sua compilação para que informações de símbolo fique visíveis em relatórios de desempenho do criador de perfil, consulte /Z7, /Zi, /Zi (formato de informações de Depurar) e Como: Informações de símbolo referência Windows.
Na barra de ferramentas desempenho Explorer, clicar inicialização.
Visual Studio 2005 constrói o projeto e começa a criar o analisar da aplicação. The PeopleTrax aplicativo janela é exibida.
clicar Obter pessoas.
Click ExportData.
O bloco de notas abre e exibe um novo arquivo que contém os dados exportados de PeopleTrax.
fechar o bloco de notas e, em seguida, fechar PeopleTrax aplicativo.
Visual Studio 2005 gera um relatório da sessão de desempenho (*.vsp) e o carrega automaticamente.
Para analisar resultados de criação de Perfil Amostrado
Na barra de ferramentas da janela criador de perfil, abra a caixa suspensa da exibição de relatório e selecionar o Funções exibição do relatório.
clicar com o botão direito do mouse na grade de dados e, em seguida, clique em Adicionar ou remover colunas.
A caixa de diálogo Add/Remove Columns aparece.
Na lista coluna, selecionar arquivo de fonte Nomee, em seguida, clicar OK.
Na grade de dados, clicar no nome de arquivo de fonte coluna para classificar a grade de dados.
Por classificação nesta coluna, todas as linhas que se aplicarem à solução PeopleTrax são agrupadas.
localizar as linhas que exibem dados para a solução PeopleTrax.
Depois de examinar essas linhas, você verá as seguintes funções foram amostradas com mais freqüência do que outras partes da solução PeopleTrax:
PeopleTrax.Form1.GetPeopleButton_Click
Focalizar o GetPeopleButton_Click evento.
clicar com o botão direito do mouse o PeopleTrax.Form1.GetPeople_Click de linha e, em seguida, clique em Exibir fonte.
Form1.cs abre no editor de código e o ponteiro aparece no GetPeopleButton_Click evento.
Examine o código de fonte para o GetPeopleButton_Click evento.
Depois de analisar esse código, você pode identificar áreas de otimização:
Se você deseja adicionar um item em um time usando o Adicionar método do ListView.ListViewItemCollection classe, você pode usar o BeginUpdate método para impedir que o controle redesenho o modo de exibição de lista cada time que você adicionar um item.Depois de concluir a tarefa de adicionar itens ao controle, chame o EndUpdate método para ativar o modo de exibição de lista a ser redesenhado.Esse método de adição de itens podem impedir que flickered desenho da exibição de lista quando você adiciona vários itens ao controle e também reduzirá o time gasto preenchendo o modo de exibição de lista.
A configuração padrão no App.config é nomes de 1500.
Quando você define a cor do primeiro plano do item de modo de exibição da lista, você pode aumentar o desempenho usando o KnownColor enumeração em vez de especificar a cor em uma seqüência de caracteres e a chamada a Color.FromName método.
Esse evento chama uma função chamada People.GetPeople para recuperar uma matriz de nomes para adicionar à exibição de lista.
clicar com o botão direito do mouse na telefonar para GetPeople e, em seguida, clique em Ir para definição.
Depois de analisar esse código, você pode identificar áreas de otimização:
O código para recuperar uma nova matriz de fullNames e companyNames é acessado repetidamente; esses arrays devem ser criados uma vez e reutilizados.
Para substituir sistema autônomo problemáticas com código otimizado, adicione OPTIMIZED_GETPEOPLE sistema autônomo um símbolo de compilação condicional a projetos de PeopleTrax e pessoas.
No gerenciador de soluções, clicar com o botão direito do mouse em projeto PeopleTrax e, em seguida, clique em Propriedades.
O formulário de propriedades do projeto PeopleTrax aparece.
Clique na guia Build.
No Símbolos de compilação condicional texto caixa, adicionar OPTIMIZED_GETPEOPLE.
Repetir as etapas 18 a 20 para o projeto de pessoas.
fechar os formulários de propriedade de projeto e salve todos quando for solicitado para salvar.
É recomendável que você execute a sessão de criação de perfil novamente, mesmo se não houver usuários visíveis melhorias no desempenho.Revisar os dados depois de corrigir um problema é importante se o primeiro problema obscurece algum Outros problema.
Agora, analisar do aplicativo usando o método de instrumentação.
Criação de perfil usando o método de instrumentação
Instrumentação é um método de perfilação pelo qual especialmente projetadas versões dos binários com perfil contêm funções de teste que coletam informações de tempo na entrada e sair para funções em um módulo instrumentado.Como esse método de criação de perfil é mais invasivo de amostragem, ele gera uma maior quantidade de sobrecarga de.Binários instrumentados também são maiores que depurar ou binários da versão e não são destinados a implantação.
Para criar o analisar de um aplicativo existente usando o método de instrumentação
No desempenho Explorer, clicar Instrumentação lista suspensa.
Na barra de ferramentas desempenho Explorer, clicar no inicialização botão.
Microsoft Visual Studio 2005 constrói o projeto e começa a criar o analisar da aplicação. janela do aplicativo PeopleTrax é exibida.
clicar Obter pessoas.
Grade de dados PeopleTrax preenche com dados.
clicar Exportar dados.
Bloco de notas inicia e exibe um novo arquivo que contém uma lista de pessoas PeopleTrax.
Fechar Bloco de notase de fechamentoPeopleTrax aplicativo.
Microsoft Visual Studio 2005 gera um relatório da sessão de desempenho (*.vsp).
Para analisar os resultados da criação de perfil instrumentados
Sobre o Resumo exibição do relatório, revise as tabelas de resumo para identificar qual função foi chamada com mais freqüência e onde ocorreu a maior parte da execução do aplicativo.
Com base nessas informações, você verá que o aplicativo gasta muito time executando sistema.String.Concat operações.
clicar duas vezes em sistema.String.Concat em qualquer uma das tabelas de resumo.
O relatório alterna para o Função modo de exibição de e realçasistema.String.Concat.
clicar com o botão direito do mouse o sistema.String.Concat de linha e, em seguida, clique em Mostrar na exibição Caller/computador chamado.
O relatório alterna para o Chamador/computador chamado exibição e mostra que essa função é chamada por PeopleTrax.Form1.ExportData.
clicar com o botão direito do mouse em PeopleTrax.Form1.ExportData e, em seguida, clique em Exibir fonte.
Form1.cs abre no editor de código e o ponteiro aparece no ExportData função.
Examine o código de fonte para o ExportData função.
Depois de analisar esse código, você observará que não há nenhuma chamada literal a ser sistema.String.Concat.Em vez disso, há vários usos do operando +=, que é substituída por chamadas para sistema.String.Concat in IL.Quaisquer modificações em uma seqüência de caracteres no .NET estrutura com que uma nova seqüência de caracteres a ser alocada.O .NET estrutura inclui um StringBuilder classe que é otimizado para concatenação de seqüência de caracteres.
Para substituir esta área do problema com o código otimizado, adicione projeto PeopleTrax OPTIMIZED_EXPORTDATA sistema autônomo um símbolo de compilação condicional.
No gerenciador de soluções, clicar com o botão direito do mouse em projeto PeopleTrax e, em seguida, clique em Propriedades.
O formulário de propriedades do projeto PeopleTrax aparece.
Clique na guia Build.
No Símbolos de compilação condicional texto caixa, adicionar OPTIMIZED_EXPORTDATA.
fechar o formulário de propriedade de projeto e escolher Salvar todos os quando for solicitado.
Quando você executa o aplicativo novamente, você verá marcadas melhorias no desempenho.É recomendável que você execute a sessão de criação de perfil novamente, mesmo se não houver usuários visíveis melhorias no desempenho.Revisar os dados depois de corrigir um problema é importante se o primeiro problema obscurece algum Outros problema.
Consulte também
Referência
/Z7, /Zi, /Zi (formato de informações de Depurar)