Ajuda para o MetaEditor

Profiling de Código

Profiling de Código

Profiling é um processo de recolha de características do aplicativo, tal como o tempo de execução de seus fragmentos individuais (funções ou linhas). O MetaEditor possui um profiling de código, permitindo ao programador o otimizar o código-fonte.

Inicializando o Profiling

Para iniciar o profiling de código, abra o código-fonte do aplicativo (mq5) e execute o comando "Iniciar profiling Iniciar profiling" do menu "Depurar" ou da barra de ferramentas "Padrão".

Uma versão especial do aplicativo será compilado para o profiling depois disso. O terminal de negociação vai ser aberto automaticamente e o aplicativo será aberto lá.

O aplicativo é lançado no gráfico EURUSD H1 por padrão. Para selecionar outro ativo e período, especifique-os na guia "Depuração" nas opções do MetaEditor.

Depois que o aplicativo for iniciado, você deve trabalhar com ele por algum tempo utilizando todas as suas funções ao máximo possível. Isso é necessário para permitir o profiler medir as funções e o tempo de execução das linhas do aplicativo.

Em seguida, o profiling deve ser parado usando o comando "Parar profiling Parar profiling" do menu "Depurar" ou da barra de ferramentas "Padrão".

Ver Resultados do Profiling

Após a conclusão do profiling, seus resultados serão exibidos na guia especial "Profiler" da janela "Caixa de Ferramentas". Dois modos de ver os resultados estão disponíveis. É possível alternar entre eles usando o menu contextual.

Modo "Funções por Chamadas"

Resultados do Profiling

Neste modo, os resultados do profiling são apresentados por funções:

  • Função – função da classe ou nome do método.
  • Linha – a linha, em que a função é chamada. Se a função é chamada em vários locais do aplicativo, o seu ícone será marcado pelo símbolo especial Expandir. Clicando nele irá abrir os dados de cada chamada.
  • Contagem – número de chamadas da função durante todo o tempo da operação do aplicativo.
  • Tempo – tempo de execução da função em microssegundos e valores percentuais em relação a todo o tempo de execução das funções. O tempo de execução da função é a soma dos tempos de execução de todas as chamadas da função.
  • Gráfico – gráfico do tempo de execução da função.

Os tipos de funções são exibidos usando os ícones:

  • Função personalizada–  função personalizada;
  • Função do sistema – função do sistema;
  • Função de manipulação de eventos– função de manipulação de eventos (On*);
  • Método de classe– método de classe.

Para além dos tipos de funções mencionados, o profiler também exibe:

  • Função do sistema@global_initializations – dados sobre toda a inicialização das variáveis ​​globais;
  • Função do sistema@global_deinitializations – dados sobre todas as finalizações das variáveis ​​globais;

Para visualizar uma função em um arquivo, dê um duplo clique nela.

O profiler exibe apenas as funções que foram chamadas durante o funcionamento do aplicativo.

Modo "Funções por Linhas"

Resultados do Profiling

Neste modo, os dados sobre o tempo de funcionamento do aplicativo é representado por linhas. As linhas são agrupadas por funções do aplicativo.

  • Função – nome da função.
  • linha – índice da linha, da qual os dados são apresentados. Para visualizar os dados sobre o tempo de execução de cada linha da função, clique no ícone Expandir.
  • Contagem – o número de vezes que o código foi executado em uma linha específica.
  • Tempo – tempo de execução do código de uma linha, em microssegundos e em valores percentuais. Valores percentuais são exibidos para cada linha em relação ao tempo de execução da função. Valores percentuais para as funções são exibidas em relação a todo o tempo de execução do aplicativo.
  • Gráfico – gráfico do tempo de execução.

Para visualizar uma linha em um arquivo, dê um duplo clique nela.

Menu Contextual

Os seguintes comandos estão disponíveis no menu contextual:

  • Abrir – vai para uma linha ou uma função em um arquivo de código-fonte. A mesma ação pode ser executada com um duplo clique ou pressionando Enter.
  • Expandir Tudo – expandir todas as funções;
  • Recolher Tudo – recolhe todas as funções expandidas;
  • Funções por Linhas – muda para ver os resultados do profiling em linhas;
  • Funções por Chamadas – muda para ver os resultados do profiling por chamadas;
  • Exportar – exporta os resultados do profiling em Open XML (MS Office Excel), HTML (Internet Explorer) ou CSV (arquivo texto).
  • Organizar Automaticamente – ativa/desativa o dimensionamento automático dos campos. A mesma ação pode ser feita pressionando "A";
  • Grade – exibe/oculta a grade para separar os campos. A mesma ação pode ser feita pressionando "G".