Aide MetaEditor

Profilage du Code

Profilage du Code

Le profilage est le procédé de collecte des fonctionnalités d'une application, telles que le temps d'exécution de ses fragments individuels (fonctions, lignes). MetaEditor possède des moyens intégrés de profilage du code permettant à un programmeur d'optimiser son code source.

Lancement du Profilage

Pour lancer le profilage du code, ouvrez le code source d'une application (mq5) et exécutez la commande "Démarrer le profilage Start profiling" du menu "Déboguer" ou de la barre d'outils "Standard".

Une version spéciale de l'application sera compilée pour pouvoir ensuite être analysée. Le terminal de trading sera ensuite ouvert automatiquement et l'application y sera lancée.

L'application est lancée sur le graphique EURUSD en H1 par défaut. Pour sélectionner un autre symbole ou une autre période, spécifiez-les dans l'onglet "Déboguer" des options de MetaEditor.

Une fois que l'application a été lancée, vous devriez l'utiliser pendant quelque temps en utilisant toutes ses fonctions et l'ensemble de ses possibilités. Ceci est nécessaire afin de permettre au profileur de mesurer les temps d'exécution des fonctions et des lignes de l'application.

Ensuite, le profilage peut être stoppé en utilisant la commande "Arrêter le profilage Stop profiling" du menu "Déboguer" ou de la barre d'outils "Standard".

Voir les Résultats du Profilage

Après la fin du profilage, ses résultats seront affichés dans l'onglet spécial "Profiler" de la fenêtre "Boîte à Outils". Deux modes de visualisation des résultats sont disponibles. Il est possible de basculer entre eux en utilisant le menu contextuel.

Mode "Functions by Calls" ("Fonctions par Appels")

Résultats du profilage

Dans ce mode, les résultats du profilage sont présentés par fonctions :

  • Fonction – nom de la fonction de classe ou de la méthode.
  • Ligne – ligne à laquelle la fonction est appelée. Si la fonction est appelée à plusieurs endroits de l'application, son icone sera marquée avec le symbole spécial Étendre. En cliquant dessus, vous ouvrirez les données de chaque appel.
  • Count – nombre d'appels de la fonction durant tout le temps d'exécution de l'application.
  • Temps – temps d'exécution de la fonction en micro-secondes et en pourcentage relativement au temps total d'exécution de toutes les fonctions. Le temps d'exécution de la fonction est la somme de tous les temps d'exécution des fonctions appelées à l'intérieur.
  • Graphique – graphique du temps d'exécution des fonctions.

Les types des fonctions sont affichés avec les icones suivantes :

  • Fonction personnalisée –  fonction personnalisée ;
  • Fonction système – fonction système ;
  • Fonction de gestion d'évènements – Fonction de gestion d'évènements (On*) ;
  • Méthode de classe – Méthode de classe.

Outre les types de fonctions mentionnés, le profileur affiche également :

  • Fonction système @global_initializations – les données concernant l'initialisation des variables globales ;
  • Fonction système @global_deinitializations – les données concernant la désinitialisation des variables globales ;

Pour voir une fonction dans le fichier, double cliquez sur son nom.

Le profileur affiche uniquement les fonctions qui ont été appelées durant l'exécution de l'application.

Mode "Functions by Lines" ("Fonctions par Lignes")

Résultats du profilage

Dans ce mode, les données concernant le temps d'opération de l'application sont présentées par lignes. Les lignes sont regroupées par fonctions de l'application.

  • Fonction – nom de la fonction.
  • Ligne – numéro de la ligne pour laquelle l'information est affichée. Pour voir les données de chaque temps d'exécution des lignes d'une fonction, cliquez sur l'icone Étendre.
  • Count – nombre de fois où un code a été exécuté sur une ligne spécifiée.
  • Time – temps d'exécution du code situé sur la ligne spécifiée en micro-secondes et en pourcentage. Les pourcentages sont affichés pour chaque ligne, relativement au temps d'exécution de la fonction. Les pourcentages pour les fonctions sont affichés relativement au temps d'exécution de l'application entièrement.
  • Graphique – graphique des temps d'exécution.

Pour voir une ligne dans le fichier, double cliquez sur celle-ci.

Menu contextuel

Les commandes suivantes sont disponibles dans le menu contextuel :

  • Ouvrir – se déplace jusqu'à la ligne ou jusqu'à une fonction dans le fichier de code source. La même action peut être effectuée en double cliquant ou en appuyant sur la touche "Entrée".
  • Expand All (Tout dérouler) – ouvre tous les nœuds de fonctions actuellement fermés ;
  • Collapse All (Tout refermer) – referme tous les nœuds de fonctions actuellement ouverts ;
  • Functions by Lines (Fonctions par Lignes) – bascule vers le mode de visualisation des résultats de profilage par lignes ;
  • Functions by Calls (Fonctions par Appels) – bascule vers le mode de visualisation des résultats par appels ;
  • Export – exporte les résultats de profilage au format Open XML (MS Office Excel), HTML (Internet Explorer) ou CSV (fichier texte).
  • Arrangement Automatique – active/désactive le redimensionnement automatique des champs. La même action peut être effectuée en appuyant sur la touche "A" ;
  • Grille – affiche/cache la grille de séparation des champs. La même action peut être effectuée en appuyant sur la touche "G".