Pour compiler : gcc -g -pg -o student_rank student_rank.c heapsort.c bubblesort.c Pour lancer : ./student_rank ## Reponse index % time self children called name [1] 100.0 0.00 4.03 main [1] 0.01 4.00 1/1 sort_students [2] 0.01 0.00 1/1 generate_ranks [5] 0.00 0.01 1/1 generate_grades [7] 0.00 0.00 2/2 free_array [8] --- 0.01 4.00 1/1 main [1] [2] 99.6 0.01 4.00 1 sort_students [2] 0.81 3.19 1000000/1000000 find_rank_student [3] 0.00 0.00 1000/1001000 bubblesort [4] --- 0.81 3.19 1000000/1000000 sort_students [2] [3] 99.3 0.81 3.19 1000000 find_rank_student [3] 3.19 0.00 1000000/1001000 bubblesort [4] --- 0.00 0.00 1000/1001000 sort_students [2] 3.19 0.00 1000000/1001000 find_rank_student [3] ## [4] 79.2 3.19 0.00 1001000 bubblesort [4] 0.01 0.00 1/1 main [1] ## [5] 0.2 0.01 0.00 1 generate_ranks [5] 0.01 0.00 1000/1000 generate_grades [7] ## [6] 0.1 0.01 0.00 1000 generate_array [6] 0.00 0.01 1/1 main [1] [7] 0.1 0.00 0.01 1 generate_grades [7] 0.01 0.00 1000/1000 generate_array [6] --- 0.00 0.00 2/2 main [1] ## [8] 0.0 0.00 0.00 2 free_array [8] On peut voir que le programme perds son temps sur le tri (79.2% du temps d'execution est dédié à l'execution de la fonction de tri).