Identificar métodos de recurso intensivos
Os métodos de recurso intensivos afectam o rendimento geral de uma execução do programa. Utilizar a vista Fluxo de Execução e a vista Invocação de Método podem ajudar a identificar facilmente estes métodos que podem ser candidatos à optimização.
Pré-requisitos:
Um método pode ser um candidato à optimização caso se aplique uma das seguintes instruções:
- O método é chamado com mais frequência do que é necessário. O rendimento pode ser melhorado conseguindo várias formas de fazer menos chamadas ou de realizar pequenas melhorias num método que é utilizado frequentemente.
- O método tem um longo tempo de execução. Alternativamente, o rendimento pode ser melhorado identificando as classes com o tempo de execução maior e, em seguida, optimizando esses métodos que passam muito tempo numa pilha. Tais métodos podem não estar necessariamente em execução, mas podem estar a chamar outros métodos para tarefas como ordenar e delegar.
Localizar métodos chamados frequentemente
Para localizar métodos que são chamados frequentemente:
- Na vista Supervisor de Perfilamento, seleccionar um supervisor ou um agente.
- Fazer clique com o botão direito do rato, em seguida, seleccionar Abrir com > Fluxo de Execução. Irá abrir-se a vista Fluxo de Execução.
- Fazer clique no botão Ampliar
para aumentar a sequência de chamadas de método.
- Fazer clique com o botão direito do rato num nome de método na vista gráfica, e seleccione
Detectar Todas as Repetições. Irá ver aparecer X onde existirem padrões repetidos.
- Ampliar as áreas para visualizar os padrões repetidos e o número de repetições do método.
Localizar métodos com tempos de execução longos
Para localizar métodos com um tempo de execução longo:
- Na vista Fluxo de Execução, examinar o comprimento da cada faixa de método. Quanto mais longa for a faixa, maior é o tempo de execução.
- Para ver um método mais detalhadamente, abrir a vista Invocação de Método seleccionando o método,
fazer clique com o botão direito do rato, e seleccionar Mostrar Invocação de Método. Irá abrir-se a vista Invocação de Método.
- Na vista Estatísticas de Método, para ver o tempo de execução do chamador do método, fazer clique com o botão direito do rato, em seguida, seleccionar Mostrar Invocação de Método. Esta vista mostra uma representação do mesmo método que a linha identificada.
- Na barra de ferramentas local, fazer clique em Mostrar Chamador
para visualizar os chamadores do método seleccionado na vista. Sempre que fizer clique neste botão, é apresentado um método mais acima na sequência de chamada.
- Seleccionar um método. O comprimento vertical da área seleccionada indica o tempo base para o método. Pode determinar o tempo de execução para este método verificando a escala de tempo vertical no lado direito da vista. A linha de estado fornece o tempo cumulativo para o método.
Obter uma vista ampla da execução do programa
Para obter uma vista ampla do tempo de execução:
- Abrir a vista Fluxo de Execução. No menu emergente do supervisor na vista Supervisor de Perfilamento, seleccionar Abrir com > Fluxo de Execução.
- Esta vista, tal como a vista Invocação de Método, esta vista tem a escala de tempo vertical ao longo do lado direito.
- Utilizar o botão Ampliar
para aumentar uma secção específica da vista para realçar o método que pretende examinar.
- Fazer clique no nome do método (ou no espaço branco por baixo do mesmo) e seleccioná-lo. O comprimento vertical da área realçada é uma indicação do tempo base para o método. O valor exacto para o tempo base é apresentado na linha de estado.
- Utilizar o botão Reduzir
para visualizar uma porção maior de todo o programa ao mesmo tempo que visualiza a área realçada do método (isto é, ainda continuará a ver a área rectangular amarela). Ainda que não se veja toda a representação da execução, poderá ainda assim determinar a quantidade de tempo que o método consome em relação a todo o programa.
Conceitos relacionados
Descrição geral da ferramenta de perfilamento
Vista e tabela Fluxo de Execução
Vistas de Estatísticas
Tarefas relacionadas
Perfilar uma aplicação
Lançar ou anexar um processo Java
Estudar a recolha de lixo
(C) Copyright IBM Corporation 2000, 2006. Todos os direitos reservados.