Exercício 1.3: Identificando Gargalos de Desempenho

Antes de iniciar, você deve concluir o Exercício 1.2 Coletando Dados de Desempenho e de Cobertura.

Os gargalos de desempenho são áreas dentro do código que diminuem a velocidade ou param a execução. Neste procedimento, você utiliza a Visualização do Gráfico de Chamada de Desempenho para identificar um gargalo dentro do programa classificação.

Para localizar gargalos:

  1. No Monitor de Definição de Perfil, clique com o botão direito do mouse no recurso Definição de Perfil e, em seguida, selecione Abrir Com > Gráfico de Chamada de Desempenho.

    Imagem de Tela do Gráfico de Chamada de Desempenho. As Informações Mostradas São Descritas no Texto que Acompanha.

    A visualização do Gráfico de Chamada de Desempenho, por padrão, exibe as seguintes informações:

    Dica: Clique com o botão direito do mouse no nó para exibir um menu que permita que você foque a exibição no nó e em seus descendentes (a Subárvore) ou manipule a exibição de outras maneiras. Esses comandos de menu permitem que você simplifique a massa de dados coletados para um aplicativo ainda menor.

    Menu Pop-up Mostrando os Comandos Filtro, Subárvore e Expansão/Colapso que Você Pode Utilizar para Focar o Gráfico de Chamada.

  2. Observe que no campo Destacar, localizado acima do gráfico, Maximizar Caminho para Raiz está selecionada.

    Maximizar Caminho para Raiz em destaque mostra o único caminho de chamada que consome mais tempo na atual execução do aplicativo. Especificamente, isso altera a exibição do gráfico de chamada das seguintes maneiras:

  3. Observe que há também um método bsort no gráfico de chamada, representando o algoritmo da classificação por bolhas. Isso fica claro a partir da espessura das linhas que a bsort executou melhor que a qsort nesta execução.

Obtendo Informações Adicionais sobre Desempenho

A visualização Gráfico de Chamada de Desempenho e outras visualizações na plataforma fornecem detalhes adicionais sobre o desempenho do seu aplicativo.

Você pode obter dados adicionais de desempenho das seguintes maneiras:

  1. Para saber mais sobre como a Sort.quick foi executada, pare seu cursor sobre o nó Sort.quick. Uma dica de ferramenta aparece com estatísticas para o método. Observe que o método faz várias chamadas.

  2. Para obter uma exibição gráfica detalhada dos dados para o método, clique duas vezes no nó. A visualização Detalhes do Método é aberta.

    Visualização Detalhes do Método com Dados para o Método Sort.quick

  3. Na visualização Detalhes do Método, observe a área de janela dos Responsáveis pela Chamada. Observe que o método é chamado pela Sort.Qsort somente uma vez, mas chama a si mesmo milhares de vezes. Ele em si mesmo não é duvidoso; normalmente uma classificação rápida é severamente recursiva. No entanto, a quantidade de tempo relativamente grande para as chamadas é duvidosa.
  4. Para examinar uma lista de todos os métodos que podem ser classificados, clique com o botão direito do mouse no recurso de definição de perfil e selecione Abrir Com > Estatísticas do Método.

    Clique no cabeçalho da coluna Tempo Base para classificar os métodos de acordo com a quantidade de tempo gasta em cada método durante a execução atual. Você pode ver que quick é consideravelmente mais lento que método de classificação por bolhas bsort.

Agora você constatou que o método quick consome mais tempo do que o esperado. Você viu também como se pode obter informações de desempenho das visualizações Gráfico de Chamada de Desempenho e Detalhes do Método. Estas informações serão importantes quando você inspecionar o código e descobrir onde é preciso fazer modificações.

Antes de inspecionar o código, no entanto, devemos descobrir também se havia algum método no código que não foi executado. Essa verificação nos dará um melhor entendimento do escopo do aplicativo e também indicará se há algum caminho alternativo que esse programa pode conter.

Você está pronto para iniciar o Exercício 1.4: Verificando a Cobertura de Código para determinar se há algum método não executado e caminhos alternativos.

Termos de Utilização | Feedback
(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.