Árvore de páginas

Usando o perfil de execução obtido (Tela 119), temos diversas informações que nos auxiliaram a detectar onde pode estar ocorrendo o gargalo e onde podemos melhorar.
Nesta tela, temos:

  • Fontes (Tela 119 A) - lista de arquivos-fontes que foram carregados para a execução do teste;
  • Dados (Tela 119 B) - dados estatísticos de cada programa/função executada;

Informações resumidas

As informações resumidas, lhe dá uma visão geral do perfil da execução que acabou de fazer. Analisando Fontes, vemos que o arquivo-fonte calcFatorial.prw, consumiu cerca de 67% do tempo total de processamento. Já os identificados como internal (funções internas do Protheus), consumiram cerca de 33% e os demais, a medição foi insignificante (0%).
Selecione, em Fontes, o arquivo-fonte calcFatorial, obtendo algo semelhante a:


              Tela 120: Dados do perfil filtrados pelo arquivo-fonte calcTutorial.prw

Na área de dados (Tela 120 A), temos:

  • Programa/Função, identifica o nome do programa ou função;
  • Chamadas, número de vezes que foi chamado;
  • Linha, identifica a linha do fonte (ver "Informação detalhada");
  • Tempo Médio (ms), tempo médio de execução por chamada;
  • Tempo Total (ms), tempo total de todas as chamadas;
  • Fonte, arquivo-fonte onde esta definida a entrada da função.

Informação detalhada

Ao passar o mouse sobre a área de dados, aparecerá do lado esquerdo de cada nome do programa/função (Tela 120 B) uma pequena seta. Acionando-a, você obterá um detalhamento daquela função/programa.


                          Tela 121: Detalhes do perfil de execução do u_calcFatorial

Se você acionar um duplo-click sobre uma linha dos dados, o editor abrirá o fonte e posicionando-o na linha do arquivo-fonte. A coluna Chamadas, indica o número de vezes que a linha foi executada e a coluna Linha identifica o número da linha do fonte.
Analisando-se os tempos e número de chamadas/execuções, podemos efetuar alterações no fonte, visando melhorar o seu desempenho.

Funções/programa que possuem interação com o usuário, por exemplo a MsgAlert e entrada de dados (get e similares), podem gerar distorções em função da velocidade de resposta do usuário.

  • Sem rótulos