# Test J'ai lancé l'algo avec 100k étudiants et 1k notes
ça prends du temps... Pour 100 et 100 ça marche bien,
pour 1k et 1k ça prends 3s~
Pour 5k étudiants, ça a pris... pas eu le temps de finir
On va donc prendre 1k étudiants et 1k notes pour le profiling

# Partie gprof ### Flat profile le temps et nombre dexecutions par fonction ### Call graph Voir l'arbre d'appel, le temps et nombre d'appel par fonction ## Analyse Le plus de temps a été pris par bubblesort
Flat Profile % cumulative self self total
time seconds seconds calls s/call s/call name
78.10 2.30 2.30 1001000 0.00 0.00 bubblesort
21.05 2.92 0.62 1000000 0.00 0.00 find_rank_student
1.02 2.96 0.03 1 0.03 2.96 sort_students
0.00 2.96 0.00 1000 0.00 0.00 generate_array
0.00 2.96 0.00 2 0.00 0.00 free_array
0.00 2.96 0.00 1 0.00 0.00 generate_grades
0.00 2.96 0.00 1 0.00 0.00 generate_ranks

Call Graph index % time self children called name
0.03 2.92 1/1 main [2]
[1] 100.0 0.03 2.92 1 sort_students [1]
0.62 2.30 1000000/1000000 find_rank_student [3]
0.00 0.00 1000/1001000 bubblesort [4]
-----------------------------------------------

[2] 100.0 0.00 2.96 main [2]
0.03 2.92 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]
-----------------------------------------------
0.62 2.30 1000000/1000000 sort_students [1]
[3] 98.9 0.62 2.30 1000000 find_rank_student [3]
2.30 0.00 1000000/1001000 bubblesort [4] <-- gros probleme ici
-----------------------------------------------
0.00 0.00 1000/1001000 sort_students [1]
2.30 0.00 1000000/1001000 find_rank_student [3] <-- gros probleme ici
[4] 78.0 2.30 0.00 1001000 bubblesort [4] <-- gros probleme ici
-----------------------------------------------
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]
-----------------------------------------------
## Changements dans le code Un bubblesort inutile se trouvait dans la fonction find_rank_student, après l'avoir retiré ça passe à 0.4s. Mais maintenant c'est buggé pour faire ce changement il faut changer while(swapped==1); car c'est possible qu'il faut faire plusieurs changements, donc il faut le changer en : while(swapped>0) # Passer au heapsort c'est rapide