2026-10-07 12:09:12 +02:00
2026-10-07 12:09:12 +02:00
2026-10-07 12:09:12 +02:00
2026-10-07 12:09:12 +02:00
2026-10-07 00:07:20 +02:00
2026-10-07 12:09:12 +02:00
2026-10-07 12:09:12 +02:00
2026-10-07 12:09:12 +02:00
2026-10-07 12:09:12 +02:00
2026-10-07 12:09:12 +02:00
2026-10-07 08:53:55 +02:00
2026-10-07 12:09:12 +02:00
2026-10-07 12:09:12 +02:00

Groupe :

  • FRAMERY Karl
  • ABRAHAM Ozvann
  1. 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 :

  1. rane 287
  2. fasi 241
  3. tata 219
  4. mopo 214
  5. cofi 180
  6. vesi 179
  7. laganomo 177
  8. boto 172
  9. nopebo 169
  10. 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.

  1. 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 :

  1. rane 287
  2. fasi 241
  3. tata 219
  4. mopo 214
  5. cofi 180
  6. vesi 179
  7. laganomo 177
  8. boto 172
  9. nopebo 169
  10. 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.

  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.

  1. 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).

  1. 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".

  1. 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é.

S
Description
No description provided
Readme 784 KiB
Languages
C 100%