TD1_DEV51_Qualite_Algo/compterendu.md

3.0 KiB

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.