Identificando Métodos Intensivos de Recursos
Pré-requisitos:
Um método poderá ser um candidato à otimização se uma das seguintes instruções
se aplicar:
- O método for chamado com mais freqüência do que o necessário. O desempenho pode ser aperfeiçoado
encontrando-se formas de efetuar menos chamadas ou de pequenas melhorias em um
método que seja utilizado com freqüência.
- O método tiver um tempo de execução longo. Ou então, o desempenho puder ser aperfeiçoado quando identificadas
classes que consomem a maior parte do tempo de execução e os métodos que passam um
tempo longo na pilha forem otimizados. Tais métodos podem não necessariamente estar em execução, mas
ao contrário, estar chamando outros métodos
para tarefas como classificação ou delegação.
Para localizar métodos chamados com freqüência, siga estas etapas:
- Na exibição Profiling Monitor, selecione um monitor ou um agente.
- Dê um clique com o botão direito do mouse e selecione Open With > Execution Flow.
A exibição Execution Flow é aberta.
- Clique no botão Zoom In
para ampliar
uma seqüência de chamadas do método.
- Clique com o botão direito do mouse e selecione
Detect All Repetitions. Você verá um X onde houver
padrões repetidos.
- Amplie essas áreas para ver os padrões repetidos e o número
de repetições do método.
Para localizar métodos com tempo de execução longo, siga estas etapas:
- Na visualização Execution Flow, examine o comprimento de cada tira do método. Quanto mais longa a tira, mais longo o tempo
de execução.
- Para ver um método com mais detalhes, abra a visualização Method Statistics selecionando o
método, clique com o botão direito do mouse e selecione Show Method Invocation. A visualização Method Statistics
é aberta.
- Na visualização Method Statistics, para ver o tempo de execução do responsável pela chamada do método, clique com o botão direito do mouse e, em seguida, selecione Show Method Invocation.
Essa visualização mostra uma representação do mesmo método que da linha identificada por um rótulo.
- Na barra de ferramentas
local, clique em Show Caller
para ver os responsáveis pela
chamada do método selecionado na exibição.Cada vez que você clica nesse botão, é exibido
um método acima na seqüência de chamada.
- Selecione um método. O comprimento vertical da área selecionada indica o tempo
base para o método. Você pode determinar o tempo de execução deste método
marcando a escala de tempo vertical no lado direito da exibição. A linha de status
apresenta o tempo cumulativo para o método.
Para obter uma visão ampla do tempo de execução, proceda da seguinte forma:
- Abra a exibição Execution Flow: No menu pop-up do monitor na exibição
Profiling Monitor, selecione Open With > Execution Flow.
- Essa exibição, como a exibição Method Invocation, tem uma escala de linha vertical
ao longo do lado direito.
- Utilize o botão Zoom In
para ampliar uma determinada
seção da exibição para realçar o método que deseja examinar.
- Clique no nome do método (ou no espaço em branco abaixo dele) para selecioná-lo. O comprimento
vertical da área realçada é um indicativo do tempo base
para o método. O valor exato
do tempo base é exibido na linha de status.
- Utilize o botão Zoom Out
para exibir uma
parte maior do programa inteiro enquanto ainda é possível ver a área realçada
do método (ou seja, você ainda consegue ver a área retangular amarela).
Mesmo que a representação da execução inteira não seja vista, você ainda conseguirá
determinar quanto tempo este método consome com relação ao programa
todo.
Conceitos Relacionados
Visão Geral da Ferramenta de Definição de Perfil
Exibição e Tabela Execution Flow
Exibições Statistical
Tarefas Relacionadas
Definindo o Perfil de um Aplicativo
Iniciando ou Anexando um Processo Java
Estudando a Coleta de Lixo
(C) Copyright IBM Corporation 2000, 2004. Todos os Direitos Reservados.