From 7c9bdde35d647e4395acc6a08ee5a10125a54c4a Mon Sep 17 00:00:00 2001 From: Dimitrijevic Date: Tue, 3 Sep 2024 12:17:01 +0200 Subject: [PATCH] TP1 --- Compte_Rendu | 25 +++++++++++++++++++++++++ Compte_Rendu ~ | 0 gmon.out | Bin 0 -> 3765 bytes student_rank | Bin 0 -> 21928 bytes student_rank.c | 1 - 5 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 Compte_Rendu create mode 100644 Compte_Rendu ~ create mode 100644 gmon.out create mode 100755 student_rank diff --git a/Compte_Rendu b/Compte_Rendu new file mode 100644 index 0000000..78223fb --- /dev/null +++ b/Compte_Rendu @@ -0,0 +1,25 @@ +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 ) diff --git a/Compte_Rendu ~ b/Compte_Rendu ~ new file mode 100644 index 0000000..e69de29 diff --git a/gmon.out b/gmon.out new file mode 100644 index 0000000000000000000000000000000000000000..1c4a1b883d2ed292d726fd23fed47348d0949df2 GIT binary patch literal 3765 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 0; i--) { if(grades_array[i] == student_grade)