Groupe :
- FRAMERY Karl
- ABRAHAM Ozvann
- Mesurer
[ozvann@archlinux 2026_TD1_DEV51_Qualite_Algo]$ time ./a.out Lignes analysées : 21746 Mots au total : 250000 Mots distincts : 5866 Longueur moyenne : 6.712 (écart-type 1.873) Bigramme le + courant : "me" (17607 fois, souvent suivi de 'n')
Top 10 :
- rane 287
- fasi 241
- tata 219
- mopo 214
- cofi 180
- vesi 179
- laganomo 177
- boto 172
- nopebo 169
- rotion 165
Empreinte du rapport : 1d53de903efd2b7c
real 0m5,077s user 0m5,058s sys 0m0,004s
Le programme a pris 5.077 seconde a s'exécuter.
- Profiler
[ozvann@archlinux 2026_TD1_DEV51_Qualite_Algo]$ time ./analyseur Lignes analysées : 21746 Mots au total : 250000 Mots distincts : 5866 Longueur moyenne : 6.712 (écart-type 1.873) Bigramme le + courant : "me" (17607 fois, souvent suivi de 'n')
Top 10 :
- rane 287
- fasi 241
- tata 219
- mopo 214
- cofi 180
- vesi 179
- laganomo 177
- boto 172
- nopebo 169
- rotion 165
Empreinte du rapport : 1d53de903efd2b7c
real 0m9,359s user 0m9,326s sys 0m0,004s
Le programme passe 9.359 seconde sur le programme au totale, c'est plus de 4 secondes de plus que l'étape 1.
- Analyser
Pour le profil plat :
La fonction "egales" prend le plus de calls (308701874), pour un temps de 34.51%. La fonction "longueur" prend 36009819 calls, pour un temps de 29.20%. La fonction "chercher_mot" prend 150182, pour un temps de 13.27%.
Pour le graph d'appel :
On voit que longeur est appelé majoritairement par longeur_moyenne ou l'on peut juste se limiter a un seul appel de longeur. Pour chercher_mot est aussi un moyen d'amélioration. La fonction égale ne permet pas d'être amélioré car il n'a que le nécéssaire.
- Proposer
On peut réduire l'utilisation de longeur a un seul appel. On peut aussi réduire le temps utiliser par chercher_mot en le modifiants.
La fonction longeur risque d'avoir le changement le plus drastique (passage de plusieurs million d'appel a un seul). La fonction chercher_mot peut être amélioré (nous ne savons pas encore la porté du résultat de l'amélioration).
- Optimiser
Nous avons optimisé le code avec l'aide de copilot avec chatGPT-6 Luna, en lui précisant que nous cherchions a amélioré les parties de longueur et chercher_mot. L'historique du chat avec l'IA est disponible dans le fichier "prompt_IA.txt".
- Valider
Avant d'avoir fait les modifications nous avions obtenu un temps de 9 seconde (environ) avec l'emprunte du rapport : 1d53de903efd2b7c
Après modification du script nous avons obtenu un temps de 2.171 secondes avec l'emprunte de rapport : 1d53de903efd2b7c
Nous obtenons une différence de plus de 7 secondes avec ses amélioration.
Profile-1 contient la version du code sans changement, le profile-2 contient la version après changement pour la fonction longueur (8.450 secondes). Le profile-3 contient la version final des modification apporté.