2026-10-07 15:48:27 +02:00
|
|
|
# Analyseur de fréquence de mots — TD R5.A.04
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
Optimisation d'un analyseur C par mesure du temps, étude des profils et
|
|
|
|
|
réduction du travail répété. Le rapport doit conserver l'empreinte
|
|
|
|
|
**`1d53de903efd2b7c`**.
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
## Organisation
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
```text
|
|
|
|
|
src/analyseur.c Programme principal
|
|
|
|
|
exemples/exemple.c Exemple de profiling fourni
|
|
|
|
|
docs/CONSIGNES.md Consignes originales du TD
|
|
|
|
|
docs/R5A04_Profiling_MM.pdf Support du cours
|
|
|
|
|
docs/notes.md Journal détaillé des mesures
|
|
|
|
|
resultats/profils/ Profils historiques numérotés de 00 à 08
|
|
|
|
|
resultats/mesures/ Mesures brutes CSV et conditions des expériences
|
|
|
|
|
resultats/rapport_reference.txt Rapport attendu
|
|
|
|
|
COMPTE_RENDU.md Compte rendu noté
|
|
|
|
|
build/ Fichiers générés localement, ignorés par Git
|
|
|
|
|
```
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
## Compiler et vérifier
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
GCC, GNU Make et `gprof` sont nécessaires pour les commandes de profiling.
|
|
|
|
|
Depuis la racine du dépôt :
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
```bash
|
|
|
|
|
make # Compiler en -O0, sans instrumentation
|
|
|
|
|
make run # Exécuter ; le rapport est écrit dans build/rapport.txt
|
|
|
|
|
make check # Exécuter et comparer le rapport à la référence
|
|
|
|
|
make profile # Produire build/profil/profil.txt avec -pg et gprof
|
|
|
|
|
make clean # Supprimer les fichiers générés de build/
|
|
|
|
|
```
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
Pour mesurer le temps du programme après compilation :
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
```bash
|
|
|
|
|
cd build
|
|
|
|
|
time ./analyseur
|
|
|
|
|
```
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
Les mesures de temps utilisent le binaire sans `-pg`. Les profils archivés
|
|
|
|
|
dans `resultats/` sont les résultats des différentes étapes ; `make profile`
|
|
|
|
|
écrit le nouveau profil dans `build/profil/`.
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
## Documents et résultats
|
2026-10-07 10:40:06 +02:00
|
|
|
|
2026-10-07 15:48:27 +02:00
|
|
|
- [Compte rendu](COMPTE_RENDU.md)
|
|
|
|
|
- [Consignes du TD](docs/CONSIGNES.md) et [support PDF](docs/R5A04_Profiling_MM.pdf)
|
|
|
|
|
- [Journal des mesures](docs/notes.md)
|
|
|
|
|
- [Ordre des profils et expériences](resultats/README.md)
|
|
|
|
|
- [Comparaison de la normalisation sur le même PC](resultats/mesures/comparaison_normalisation_meme_pc.csv)
|