Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
Linux

Comment profiler un programme C sous Linux à l’aide de GNU gprof

La performance est l’un des plus grands défis auxquels les programmeurs sont confrontés lors du développement de logiciels. C’est la raison pour laquelle le profilage de code est l’un des aspects les plus importants du développement logiciel, car il vous permet d’identifier les goulots d’étranglement, le code mort et même les bogues. Si vous êtes un programmeur qui développe des applications logicielles pour Linux, le profileur GNU « gprof » est l’outil à rechercher.

Contenu

Télécharger et installer

Gprof est préinstallé avec la plupart des distributions Linux, mais si ce n’est pas le cas avec votre distribution Linux, vous pouvez le télécharger et l’installer via un gestionnaire de packages en ligne de commande comme apt-get ou yum. Par exemple, exécutez la commande suivante pour télécharger et installer gprof sur les systèmes basés sur Debian :

Exigences

Avant d’utiliser gprof pour générer des données de profilage, assurez-vous que l’exécutable de votre programme contient des informations supplémentaires requises par le profileur pour fonctionner correctement. Ceci peut être réalisé en ajoutant l’option de ligne de commande -pg lors de la compilation de votre code, en supposant que vous utilisez le compilateur gcc. Si vous utilisez des commandes distinctes pour la compilation et la liaison, ajoutez l’option de ligne de commande aux deux commandes.

Psssssst :  Lubuntu est-il identique à Ubuntu ?

Utiliser gprof

Prenons l’exemple du programme C suivant :

Comme décrit dans la section précédente, compilez le code avec l’option -pg :

Une fois compilé, lancez le programme :

Après une exécution réussie, le programme produira un fichier nommé « gmon.out » qui contient les informations de profilage, mais sous une forme brute, ce qui signifie que vous ne pouvez pas ouvrir le fichier et lire directement les informations. Pour générer un fichier lisible par l’homme, exécutez la commande suivante :

Cette commande écrit toutes les informations de profilage dans un format lisible par l’homme dans le fichier « prof_output ». Notez que vous pouvez modifier le nom du fichier de sortie selon votre convenance.

Profil plat et graphique d’appel

Si vous ouvrez le fichier contenant les données de profilage, vous verrez que les informations sont divisées en deux parties : profil plat et graphique d’appel. Alors que le premier contient des détails tels que le nombre d’appels de fonction, le temps d’exécution total passé dans une fonction, etc., le second décrit l’arborescence des appels du programme, fournissant des détails sur les fonctions parent et enfant d’une fonction particulière.

Par exemple, ce qui suit est le profil plat dans notre cas :

Voici le graphique des appels :

Notez que l’explication détaillée de ces champs est présente dans le fichier contenant les informations de profilage (prof_output dans ce cas) et est générée à chaque exécution du profileur. Pour désactiver les détails, utilisez l’option de ligne de commande -b avec la commande gprof.

Quelques points importants

  • Pour écrire correctement le fichier gmon.out, votre programme doit se fermer normalement. Le fichier n’est pas produit lorsque le programme se termine en appelant la fonction _exit() ou se termine anormalement en raison d’un signal non géré.
  • Le fichier « gmon.out » est toujours créé dans le répertoire de travail courant. Assurez-vous donc que votre programme dispose des privilèges suffisants pour créer un fichier dans le répertoire courant.
  • Un outil externe du nom de gprof2dot peut être utilisé pour convertir le graphique d’appels de gprof en forme graphique.
  • En utilisant gprof, vous pouvez également produire une liste de sources annotée qui donne une idée du nombre de fois que chaque ligne du programme a été exécutée. Pour produire ces informations, compilez le programme avec -g (avec l’option -pg expliquée plus haut) et exécutez la commande gprof avec l’option de ligne de commande -A.
  • Psssssst :  Quel format doit être mon disque dur pour Ubuntu ?

    Cet article est-il utile ? Oui Non

    Bouton retour en haut de la page

    Adblock détecté

    Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci