# Compte-rendu TP ## Test de base : ### Commandes : ./student_rank 5 5 1 gprof ./student_rank La fonction "bubblesort" est la fonction la plus appelée et qui a le plus de temps d'exécution. 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 ## Test avec plus de données : ### Commandes : ./student_rank 1000 1000 0 gprof ./student_rank La fonction "bubblesort" est la fonction la plus appelée et qui a le plus de temps d'exécution. Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls s/call s/call name 84.86 8.10 8.10 1001000 0.00 0.00 bubblesort 14.21 9.46 1.36 1000000 0.00 0.00 find_rank_student 1.00 9.56 0.10 1 0.10 9.56 sort_students 0.10 9.57 0.01 1 0.01 0.01 generate_ranks 0.00 9.57 0.00 1000 0.00 0.00 generate_array 0.00 9.57 0.00 2 0.00 0.00 free_array 0.00 9.57 0.00 1 0.00 0.00 generate_grades ## Test avec encore plus de données : ### Commandes : ./student_rank 1000 10000 0 gprof ./student_rank -b La fonction "bubblesort" est la fonction la plus appelée et qui a le plus de temps d'exécution. Flat profile: Each sample counts as 0.01 seconds. % cumulative self self total time seconds seconds calls s/call s/call name 85.02 86.18 86.18 10010000 0.00 0.00 bubblesort 14.03 100.41 14.22 10000000 0.00 0.00 find_rank_student 0.93 101.35 0.94 1 0.94 101.35 sort_students 0.08 101.43 0.09 1000 0.00 0.00 generate_array 0.08 101.51 0.08 1 0.08 0.08 generate_ranks 0.03 101.54 0.03 print_student_array 0.00 101.54 0.00 2 0.00 0.00 free_array 0.00 101.54 0.00 1 0.00 0.09 generate_grades ## Profiling Un appel à la fonction bubblesort était en trop dans la fonction find_rank ce qui augmentait considérablement le temps d'exécution.