TP1
This commit is contained in:
parent
ca552281c9
commit
7c9bdde35d
25
Compte_Rendu
Normal file
25
Compte_Rendu
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
Graphe d'appel (call graph) -> au dessus de l'index ce sont les fonctions appelantes de la fonction et en dessous ce sont les appelées
|
||||||
|
|
||||||
|
deux partie avec gprof -> flat profile et call graph l'un est concis, + rapide - détaillé et l'autre est bcp plus détaillé et précis
|
||||||
|
|
||||||
|
avec le call graph on peut comprendre et retracer le fonctionnement du programme
|
||||||
|
|
||||||
|
on se rend compte que bubblesort prend 80% du temps et find-rank 20% du temps -> L'objectif est donc d'améliorer ça en limitant le nombre d'appel de bubblesort
|
||||||
|
|
||||||
|
gprof -b ./student_rank -> enlève les exlication du l'affichage // -pg pour gprof
|
||||||
|
|
||||||
|
On peut enlever un bubble sort en trop, celui dans find_rank_student pour eviter de trier le tableau deux fois (bug car code raté :))
|
||||||
|
|
||||||
|
On passe de 30 secondes à >1s
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
Essayer de changer de fonction pour utiliser heapsort à la place du bubblesort n'est pas vraiment utile car on ne gagne pas de temps
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
La derniere chose à faire est d'essayer d'optimiser la fonction bubblesort, problème le tri est déjà optimisé
|
||||||
|
|
||||||
|
PROFILING = MESURE
|
||||||
|
|
||||||
|
valgrind mesure la mémoire, permet de savoir si il y a des fuites et donne des informations dessus ( fonction / fichier / lignes )
|
0
Compte_Rendu ~
Normal file
0
Compte_Rendu ~
Normal file
BIN
student_rank
Executable file
BIN
student_rank
Executable file
Binary file not shown.
@ -55,7 +55,6 @@ int find_rank_student(int student_grade, int* grades_array, int students_number)
|
|||||||
{
|
{
|
||||||
int position = -1;
|
int position = -1;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
bubblesort(grades_array,students_number);
|
|
||||||
for(i = students_number-1; i >= 0; i--)
|
for(i = students_number-1; i >= 0; i--)
|
||||||
{
|
{
|
||||||
if(grades_array[i] == student_grade)
|
if(grades_array[i] == student_grade)
|
||||||
|
Loading…
Reference in New Issue
Block a user