Graphe d'appel (call graph) -> au dessus de l'index ce sont les fonctions appelantes de la fonction et en dessous ce sont les appelées deux partie avec gprof -> flat profile et call graph l'un est concis, + rapide - détaillé et l'autre est bcp plus détaillé et précis avec le call graph on peut comprendre et retracer le fonctionnement du programme on se rend compte que bubblesort prend 80% du temps et find-rank 20% du temps -> L'objectif est donc d'améliorer ça en limitant le nombre d'appel de bubblesort gprof -b ./student_rank -> enlève les exlication du l'affichage // -pg pour gprof On peut enlever un bubble sort en trop, celui dans find_rank_student pour eviter de trier le tableau deux fois (bug car code raté :)) On passe de 30 secondes à >1s ----- Essayer de changer de fonction pour utiliser heapsort à la place du bubblesort n'est pas vraiment utile car on ne gagne pas de temps ---- La derniere chose à faire est d'essayer d'optimiser la fonction bubblesort, problème le tri est déjà optimisé PROFILING = MESURE valgrind mesure la mémoire, permet de savoir si il y a des fuites et donne des informations dessus ( fonction / fichier / lignes )