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