, , ,

Profilage du code avec grpof

Des programmes sont dédiés à l'optimisation du code on parle de profilage du code.

Dans quels cas optimiser?

Dans quels cas éviter:

Recommandations codage en C

gprof est inclus au paquet binutils, il permet d'analyser le code s’exécutant et fournit des informations sur:

Il faut compiler en utilisant l'option -gp

gcc -pg -g -std=c99 main.c -o mon-exec

Une fois le binaire créé, lancer une fois l’exécution du programme, dans le dossier conteneur un fichier gmon.out est crée. ./mon-exec

# Exécuter gprof avec l'option -b (brief) et en argument l’exécutable avec le fichier gmon.out

$ gprof -b hello-gprof gmon.out

Sur la sortie standard, on obtient alors:

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 84.96      0.48     0.48        1   484.25   484.25  init2
 15.93      0.58     0.09        1    90.80    90.80  init1