From f63502536c009e6a97e8995d75e88388366eabcc Mon Sep 17 00:00:00 2001 From: Berger Date: Tue, 3 Sep 2024 12:16:54 +0200 Subject: [PATCH] Compte rendu --- Compte_rendu_Berger.txt | 25 +++++++++++++++++++++++++ gmon.out | Bin 0 -> 3765 bytes student_rank | Bin 0 -> 21920 bytes student_rank.c | 2 +- 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 Compte_rendu_Berger.txt create mode 100644 gmon.out create mode 100755 student_rank diff --git a/Compte_rendu_Berger.txt b/Compte_rendu_Berger.txt new file mode 100644 index 0000000..3e009e6 --- /dev/null +++ b/Compte_rendu_Berger.txt @@ -0,0 +1,25 @@ +Note basiques pour bien travailler + +gcc -g -pg -o student_rank student_rank.c heapsort.c bubblesort.c + +Pour lancer : + +./student_rank + +commande pour analyser le gmon.out : + gprof ./student_rank (gprof + executable) + +Première analyse : + +Je ne comprend pas trop, les valeur de bases (5 5 1) sont trop faible pour avoir un temps avec gprof + +chauqe fonction de programme est appeller entre 5 et 25 fois lors de l'éxécution je ne comprend pas encore la valeur qui suit chaque nom de fonction "[n]". + +Lors de la modification de valeurs (1000 1000 0) on constate une augmentation significative du temps d'exécution et du nombre d'appel des fonction. (2.84s) et plus de 100000 appel find_rank_student par exemple. + +==> on peu comprendre le code sans regarder le code source, grace a l'ordre par lequel les fonction sont appellée. + +optimisation du code proposé : réduire le nombre d'appels de bubblesort enlever par exemple celui dans sort_student ou find rank student +edit : find rank student n'as pas besoin d'utiliser bubblesort; en supprimant lma ligne de la fonction, pour les valeur 1000 et 10000 on passe de 30 sec a 0.05seconde d'execution. + +on prut cherrcher la petite bête et optimiser bubblesort \ No newline at end of file diff --git a/gmon.out b/gmon.out new file mode 100644 index 0000000000000000000000000000000000000000..9bf0fe87c317d8f3d6774c15daecd3bb883c7955 GIT binary patch literal 3765 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 Zu_@PfH7{MZjwQdG{yaiyvkBNx_CG=MsJs9G literal 0 HcmV?d00001 diff --git a/student_rank.c b/student_rank.c index af84003..c866405 100644 --- a/student_rank.c +++ b/student_rank.c @@ -55,7 +55,7 @@ int find_rank_student(int student_grade, int* grades_array, int students_number) { int position = -1; int i = 0; - bubblesort(grades_array,students_number); + // bubblesort(grades_array,students_number); for(i = students_number-1; i >= 0; i--) { if(grades_array[i] == student_grade)