diff --git a/COMPTE_RENDU.md b/COMPTE_RENDU.md index a80b68b..47bdf9a 100644 --- a/COMPTE_RENDU.md +++ b/COMPTE_RENDU.md @@ -1,72 +1,118 @@ -Compte-rendu TD1 : +# Compte-rendu TD1 -Nom Binome : Luka PLOUVIER et Jimmy COLOMB-RAVAT +**Nom Binôme :** Luka PLOUVIER et Jimmy COLOMB-RAVAT -##1 Mesurer +## 1. Mesurer -Empreinte du rapport : 1d53de903efd2b7c +**Empreinte du rapport :** `1d53de903efd2b7c` +```text real 0m2.638s user 0m2.613s sys 0m0.004s +``` -##3 Analyser +## 3. Analyser -#profil plat : +### Profil plat : +```text % cumulative self self total time seconds seconds calls ms/call ms/call name 39.12 0.84 0.84 308701874 0.00 0.00 egales 32.41 1.54 0.70 36009819 0.00 0.00 longueur 12.04 1.80 0.26 150182 0.00 0.01 chercher_mot +``` - La plupart du temps d'éxecution se passe par ces fonctions. - En observant le code, on se rend compte qu'il est difficile d'optimiser les fonctions 'egales' et 'longueur'. +La plupart du temps d'éxecutionexécution se passe par ces fonctions. +En observant le code, on se rend compte qu'il est difficile d'optimiser les fonctions `egales` et `longueur`. - #Graphe d'appels +### Graphe d'appels : - Dans 'ecart_type_longueur' on voit qu'elle appel 'longueur_moyenne' pour chaque mots unique alors que la moyenne est déjà calculer dans le 'main'. +Dans `ecart_type_longueur` on voit qu'elle appelappelle `longueur_moyenne` pour chaque mots uniquemot unique alors que la moyenne est déjà calculercalculée dans le `main`. +```text 0.00 0.00 1/5867 main [1] 0.07 0.67 5866/5867 ecart_type_longueur [7] [6] 34.2 0.07 0.67 5867 longueur_moyenne [6] 0.67 0.00 34415822/36009819 longueur [8] +``` -'longueur_moyenne' appel 34.4 millions de fois 'longueur' soit 95% des 36 millions d'appels pour 34.2% du temps total. +`longueur_moyenne` appelappelle 34.4 millions de fois `longueur` soit 95% des 36 millions d'appels pour 34.2% du temps total. -'chercher_mot' fait une rechercher linéaire pour chacune des 150 182 occurences. Comme la table grandit jusqu'à 5866 entrées, c'est un comptage de mots x mots_uniques soit 296,6 millions d'appels à 'égales' sur les 308,7 millions d'appels au total. +`chercher_mot` fait une rechercherrecherche linéaire pour chacune des 150 182 occurencesoccurrences. Comme la table grandit jusqu'à 5866 entrées, c'est un comptage de mots x mots_uniques soit 296,6 millions d'appels à `égales` sur les 308,7 millions d'appels au total. -##4 Proposer +## 4. Proposer -Faire une table de hachage pour le comptage des mots dans 'chercher_mot'. -Calculer la moyenne une seule fois dans 'ecart_type_longueur'. +* Faire une table de hachage pour le comptage des mots dans `chercher_mot`. +* Calculer la moyenne une seule fois dans `ecart_type_longueur`. -##5 Optimiser +## 5. Optimiser +**Comparaison des appels à `egales` :** + +*Avant :* +```text + % cumulative self self total + time seconds seconds calls ms/call ms/call name 39.12 0.84 0.84 308701874 0.00 0.00 egales +``` + +*Après :* +```text + % cumulative self self total + time seconds seconds calls ms/call ms/call name 2.25 1.03 0.03 12195414 0.00 0.00 egales +``` -On peut voir que le nombre d'appels de 'egales' a diminué de 200 millions. +On peut voir que le nombre d'appels de `egales` a diminué de près de 296 millions. +```text real 0m1.867s user 0m1.829s sys 0m0.000s +``` -Le temps d'éxecution a diminué de 0,8 secondes. +Le temps d'éxecutionexécution a diminué de 0,8 seconde. +**Comparaison des appels à `longueur` :** + +*Avant :* +```text +% cumulative self self total +time seconds seconds calls ms/call ms/call name 63.06 0.70 0.70 36009819 0.00 0.00 longueur +``` + +*Après :* +```text +% cumulative self self total +time seconds seconds calls ms/call ms/call name 66.67 0.46 0.46 1605729 0.00 0.00 longueur +``` +**Comparaison des appels à `longueur_moyenne` :** + +*Avant :* +```text +% cumulative self self total +time seconds seconds calls ms/call ms/call name 9.91 0.81 0.11 5867 0.02 0.13 longueur_moyenne +``` + +*Après :* +```text +% cumulative self self total +time seconds seconds calls ms/call ms/call name 0.00 0.69 0.00 2 0.00 1.68 longueur_moyenne +``` -On peut voir qu'on a diminué le nombre d'appels de 'longueur' de 35 millions d'appels environ en appelant que 1 seule fois 'longueur_moyenne' dans 'ecart_type_moyenne'. +On peut voir qu'on a diminué le nombre d'appels de `longueur` de 34,4 millions d'appels environ en n'appelant que 1 seule foisqu'une seule fois `longueur_moyenne` dans `ecart_type_longueur`. +```text real 0m1.205s user 0m1.167s sys 0m0.000s +``` -On a encore diminué le temps d'éxecution de 0.8 secondes. - - - +On a encore diminué le temps d'éxecutionexécution de 0.8 seconde. \ No newline at end of file