﻿TD01


1. Mesurer - donner avant 


DONNÉES TIME AVANT GPROF :


Empreinte du rapport  : 1d53de903efd2b7c


real    0m2.647s
user    0m2.624s
sys    0m0.000s




DONNÉES TIME AVEC GPROF :


Empreinte du rapport  : 1d53de903efd2b7c


real    0m5.820s
user    0m5.773s
sys    0m0.007s


2. Analyser 
Profil plat - temps par fonction
On remarque que les fonctions qui prennent le plus de temps et le plus d’appels sont longueur et égales.
Pour longueur sur 2.35 secondes cumulées, on est à 0.8 et on a 36009819 appels.
Pour egales sur 2.35  secondes cumulées, on est à 1.60 et on a 308701874 appels.
C’est notre point de départ. 


Graphe d’appel - qui appelle qui et cb de fois
Pour réduire le temps total cumulé de secondes pour une fonction donnée, soit on réduit le temps d’un appel, soit le nombre d'appels de la fonction.
Donc pour longueur on va regarder le graphe, et on remarque que la fonction qui appelle le plus la fonction c’est longueur_moyenne est c’est sur cette fonction qu’on va essayer de réduire le nombre d'appels de longueur car on ne peut pas réduire le temps d’exécution ici.
Donc pour égales on va regarder le graphe, et on remarque que la fonction qui appelle le plus la fonction c’est chercher_mot est c’est sur cette fonction qu’on va essayer de réduire le nombre d'appels de egales car on ne peut pas réduire le temps d’exécution ici.


3. Proposer - pistes d’amélioration
1. longueur 
L’optimisation : Créer une variable dans le main nommée “moyenne”, égale à la valeur de retour de la méthode longueur_moyenne(). Cela permet de simplement lire une valeur de variable plutôt que d’appeler la méthode à mainte reprise.


Empreinte : 1d53de903efd2b7c


2. egales
L’optimisation : 
Empreinte : 




4. Valider
DONNÉES TIME AVEC GPROF :


Empreinte du rapport  : 1d53de903efd2b7c


real    0m2.111s
user    0m2.094s
sys    0m0.000s