From ae0301d5f3afb2d2b7a5c951b418f9efd8bcb4e2 Mon Sep 17 00:00:00 2001 From: thuret Date: Tue, 3 Sep 2024 11:01:04 +0200 Subject: [PATCH] first commit --- gmon.out | Bin 0 -> 5488 bytes modif/notes.md | 138 ++++++++++++++++++++++++ student_rank.exe | Bin 0 -> 177467 bytes test.txt | 272 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 410 insertions(+) create mode 100644 gmon.out create mode 100644 modif/notes.md create mode 100644 student_rank.exe create mode 100644 test.txt diff --git a/gmon.out b/gmon.out new file mode 100644 index 0000000000000000000000000000000000000000..f9dc424bdfbbbb83a345f2d2b8ba8adf05c401ce GIT binary patch literal 5488 zcmXpId3^6%Jp;o78wlMX!oW}|!OD=r00Uk1af~qbV5FG_oud%J1z~|mbp}2l$-yAc zz{$|fzyf45GAJ{!GYA4{>H(0sgaI2KJGlvKA5}3L0#pbA^mLER$Cjr-@-Pgt-jTtL zL4`qq!Hyw@;Vh#DP=tvgkD-9Uoxv8E$JiMJ7{nOF85E&l{tpq=(ta(QyPi{@5e~8Gn4i%)oGT5(C2$F$mvO z7CJ6DZ3b9;hB&IYfI37yg9Jpp9ICGYs$M}7A|4902b3B?=9@spAEJo|K*c{m&4H<( Y02QAo3Na5Rz5s{#7N~!&LgiuV0q5dyHUIzs literal 0 HcmV?d00001 diff --git a/modif/notes.md b/modif/notes.md new file mode 100644 index 0000000..f3bda01 --- /dev/null +++ b/modif/notes.md @@ -0,0 +1,138 @@ +compilation : +gcc -g -pg -o student_rank student_rank.c heapsort.c bubblesort.c + + +premier test: +./student_rank 5 5 1 + +lancement de gprof: +'''gprof ./student_rank''' + +''' +Flat profile: + +Each sample counts as 0.01 seconds. + no time accumulated + + % cumulative self self total + time seconds seconds calls Ts/call Ts/call name + 0.00 0.00 0.00 30 0.00 0.00 bubblesort + 0.00 0.00 0.00 25 0.00 0.00 find_rank_student + 0.00 0.00 0.00 10 0.00 0.00 print_array + 0.00 0.00 0.00 5 0.00 0.00 generate_array + 0.00 0.00 0.00 2 0.00 0.00 free_array + 0.00 0.00 0.00 2 0.00 0.00 print_student_array + 0.00 0.00 0.00 1 0.00 0.00 generate_grades + 0.00 0.00 0.00 1 0.00 0.00 generate_ranks + 0.00 0.00 0.00 1 0.00 0.00 sort_students + +par exemple on peut voir que la fonction bubblesort a été appelée 30 fois et que la fonction find_rank_student a été appelée 25 fois. + +exemple du call graph : + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) no time propagated + +index % time self children called name + 0.00 0.00 5/30 sort_students [9] + 0.00 0.00 25/30 find_rank_student [2] +[1] 0.0 0.00 0.00 30 bubblesort [1] +----------------------------------------------- + 0.00 0.00 25/25 sort_students [9] +[2] 0.0 0.00 0.00 25 find_rank_student [2] + 0.00 0.00 25/30 bubblesort [1] +----------------------------------------------- + 0.00 0.00 10/10 print_student_array [6] +[3] 0.0 0.00 0.00 10 print_array [3] +----------------------------------------------- + 0.00 0.00 5/5 generate_grades [7] +[4] 0.0 0.00 0.00 5 generate_array [4] +----------------------------------------------- + 0.00 0.00 2/2 main [16] +[5] 0.0 0.00 0.00 2 free_array [5] +----------------------------------------------- + 0.00 0.00 2/2 main [16] +[6] 0.0 0.00 0.00 2 print_student_array [6] + 0.00 0.00 10/10 print_array [3] +----------------------------------------------- + 0.00 0.00 1/1 main [16] +[7] 0.0 0.00 0.00 1 generate_grades [7] + 0.00 0.00 5/5 generate_array [4] +----------------------------------------------- + 0.00 0.00 1/1 main [16] +[8] 0.0 0.00 0.00 1 generate_ranks [8] +----------------------------------------------- + 0.00 0.00 1/1 main [16] +[9] 0.0 0.00 0.00 1 sort_students [9] + 0.00 0.00 25/25 find_rank_student [2] + 0.00 0.00 5/30 bubblesort [1] +----------------------------------------------- +''' + +par exemple on peut voir que la fonction bubblesort a été appelée 30 fois, 5 fois par la fonction sort_students et 25 fois par la fonction find_rank_student. +la fonction find_rank_student a été appelée 25 fois par sort_students et à chaque fois elle appelle la fonction bubblesort. + +on a relancé le scénario en changeant les paramètres de la commande : +./student_rank 1000 1000 0 + +on a relancé gprof avec la commande suivante : +gprof ./student_rank + +un apperçu du résultat est donné ci-dessous : +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls s/call s/call name + 83.16 5.11 5.11 1001000 0.00 0.00 bubblesort + 16.30 6.11 1.00 1000000 0.00 0.00 find_rank_student + 0.65 6.15 0.04 1 0.04 6.15 sort_students + 0.00 6.15 0.00 1000 0.00 0.00 generate_array + 0.00 6.15 0.00 2 0.00 0.00 free_array + 0.00 6.15 0.00 1 0.00 0.00 generate_grades + 0.00 6.15 0.00 1 0.00 0.00 generate_ranks + +en comparaison avec le premier scénario, on peut voir que la fonction bubblesort a été appelée 1001000 fois et que la fonction find_rank_student a été appelée 1000000 fois. +on peut voir aussi que le programme a passé 6.15 secondes à exécuter alors que dans le premier scénario il n'a pas accumulé de temps. + +exemple du call graph : + Call graph (explanation follows) + + +granularity: each sample hit covers 2 byte(s) for 0.16% of 6.15 seconds + +index % time self children called name + 0.04 6.11 1/1 main [2] +[1] 100.0 0.04 6.11 1 sort_students [1] + 1.00 5.10 1000000/1000000 find_rank_student [3] + 0.01 0.00 1000/1001000 bubblesort [4] +----------------------------------------------- + +[2] 100.0 0.00 6.15 main [2] + 0.04 6.11 1/1 sort_students [1] + 0.00 0.00 2/2 free_array [6] + 0.00 0.00 1/1 generate_grades [7] + 0.00 0.00 1/1 generate_ranks [8] +----------------------------------------------- + 1.00 5.10 1000000/1000000 sort_students [1] +[3] 99.3 1.00 5.10 1000000 find_rank_student [3] + 5.10 0.00 1000000/1001000 bubblesort [4] +----------------------------------------------- + 0.01 0.00 1000/1001000 sort_students [1] + 5.10 0.00 1000000/1001000 find_rank_student [3] +[4] 83.1 5.11 0.00 1001000 bubblesort [4] +----------------------------------------------- + 0.00 0.00 1000/1000 generate_grades [7] +[5] 0.0 0.00 0.00 1000 generate_array [5] +----------------------------------------------- + 0.00 0.00 2/2 main [2] +[6] 0.0 0.00 0.00 2 free_array [6] +----------------------------------------------- + 0.00 0.00 1/1 main [2] +[7] 0.0 0.00 0.00 1 generate_grades [7] + 0.00 0.00 1000/1000 generate_array [5] +----------------------------------------------- + 0.00 0.00 1/1 main [2] +[8] 0.0 0.00 0.00 1 generate_ranks [8] +----------------------------------------------- \ No newline at end of file diff --git a/student_rank.exe b/student_rank.exe new file mode 100644 index 0000000000000000000000000000000000000000..b188286f7826b9eadd302560b94c9bed5423147e GIT binary patch literal 177467 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 z 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 literal 0 HcmV?d00001 diff --git a/test.txt b/test.txt new file mode 100644 index 0000000..39a4405 --- /dev/null +++ b/test.txt @@ -0,0 +1,272 @@ +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls Ts/call Ts/call name + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 4 byte(s) no time propagated + +index % time self children called name + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name + +Flat profile: + +Each sample counts as 0.01 seconds. + % cumulative self self total + time seconds seconds calls Ts/call Ts/call name + + % the percentage of the total running time of the +time program used by this function. + +cumulative a running sum of the number of seconds accounted + seconds for by this function and those listed above it. + + self the number of seconds accounted for by this +seconds function alone. This is the major sort for this + listing. + +calls the number of times this function was invoked, if + this function is profiled, else blank. + + self the average number of milliseconds spent in this +ms/call function per call, if this function is profiled, + else blank. + + total the average number of milliseconds spent in this +ms/call function and its descendents per call, if this + function is profiled, else blank. + +name the name of the function. This is the minor sort + for this listing. The index shows the location of + the function in the gprof listing. If the index is + in parenthesis it shows where it would appear in + the gprof listing if it were to be printed. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + + Call graph (explanation follows) + + +granularity: each sample hit covers 4 byte(s) no time propagated + +index % time self children called name + + This table describes the call tree of the program, and was sorted by + the total amount of time spent in each function and its children. + + Each entry in this table consists of several lines. The line with the + index number at the left hand margin lists the current function. + The lines above it list the functions that called this function, + and the lines below it list the functions this one called. + This line lists: + index A unique number given to each element of the table. + Index numbers are sorted numerically. + The index number is printed next to every function name so + it is easier to look up where the function is in the table. + + % time This is the percentage of the `total' time that was spent + in this function and its children. Note that due to + different viewpoints, functions excluded by options, etc, + these numbers will NOT add up to 100%. + + self This is the total amount of time spent in this function. + + children This is the total amount of time propagated into this + function by its children. + + called This is the number of times the function was called. + If the function called itself recursively, the number + only includes non-recursive calls, and is followed by + a `+' and the number of recursive calls. + + name The name of the current function. The index number is + printed after it. If the function is a member of a + cycle, the cycle number is printed between the + function's name and the index number. + + + For the function's parents, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the function into this parent. + + children This is the amount of time that was propagated from + the function's children into this parent. + + called This is the number of times this parent called the + function `/' the total number of times the function + was called. Recursive calls to the function are not + included in the number after the `/'. + + name This is the name of the parent. The parent's index + number is printed after it. If the parent is a + member of a cycle, the cycle number is printed between + the name and the index number. + + If the parents of the function cannot be determined, the word + `' is printed in the `name' field, and all the other + fields are blank. + + For the function's children, the fields have the following meanings: + + self This is the amount of time that was propagated directly + from the child into the function. + + children This is the amount of time that was propagated from the + child's children to the function. + + called This is the number of times the function called + this child `/' the total number of times the child + was called. Recursive calls by the child are not + listed in the number after the `/'. + + name This is the name of the child. The child's index + number is printed after it. If the child is a + member of a cycle, the cycle number is printed + between the name and the index number. + + If there are any cycles (circles) in the call graph, there is an + entry for the cycle-as-a-whole. This entry shows who called the + cycle (as parents) and the members of the cycle (as children.) + The `+' recursive calls entry shows the number of function calls that + were internal to the cycle, and the calls entry for each member shows, + for that member, how many times it was called from other members of + the cycle. + +Copyright (C) 2012-2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. + +Index by function name +