Profileur GNU gprof¶
Description¶
gprof est une application de profilage qui recueille des informations et compile des statistiques sur votre code. En règle générale, gprof identifie les fonctions et les sous-routines dans le programme et y insère des marqueurs pour mesurer le temps d'exécution de chacune. Quand le programme est exécuté, un fichier de données brutes est créé, puis interprété par gprof pour en extraire des statistiques de profilage.
gprof est inclus dans la suite GNU et est accessible via le module gcc.
Préparation du code¶
Charger le compilateur¶
Chargez le compilateur GNU adéquat; par exemple, pour GCC, la commande est :
Compiler le code¶
Commencez par compiler votre code avec la fonction de débogage activée. Pour les compilateurs GNU, cela se fait en ajoutant l'option -pg à la commande de compilation. Avec cette option, le compilateur génère le code nécessaire pour enregistrer les informations utiles à l'analyse de profilage. Sans elle, les données pour construire un graphe d'appel ne sont pas recueillies, et vous risquez de voir le message d'erreur suivant :
Exécuter le code¶
Pour exécuter le code, lancez la commande suivante :
Exécutez le code de la même façon que vous le feriez sans profilage gprof; la commande d'exécution demeure identique. Une fois le binaire exécuté et terminé sans erreur, le fichier gmon.out est créé dans le répertoire de travail actuel. Si, par exemple, votre code modifie le répertoire de travail, gmon.out sera alors créé dans ce nouveau répertoire, à condition que le programme ait les permissions nécessaires.
Obtenir les données de profilage¶
Dans la commande ci-dessous, gprof est exécuté avec, comme arguments, le nom de l'exécutable et le fichier gmon.out. Le fichier analysis.txt sera créé dans le répertoire de travail actuel et contiendra toutes les informations de profilage.
```bash gprof /path/to/your/executable gmon.out > analysis.txt