Increase maximum text word count and optimize line splitting function

This commit is contained in:
rabot
2026-10-07 16:42:17 +02:00
parent 875af6fe9e
commit 14c89b3963
15 changed files with 7148 additions and 27 deletions
+17 -5
View File
@@ -1,8 +1,11 @@
# Analyseur de fréquence de mots — TD R5.A.04
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`**.
réduction du travail répété. Le programme traite désormais **10 000 000 mots**,
avec l'empreinte de référence **`b35be1258a9cb3f6`**.
Les résultats historiques sur **250 000 mots** conservent leur référence
**`1d53de903efd2b7c`**. L'empreinte se compare à volume de texte identique.
## Organisation
@@ -12,9 +15,11 @@ 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/profils/ Profils historiques de 00 à 09 (250 000 mots)
resultats/profils/10000000_mots/ Comparaison avant/après sur 10 millions de mots
resultats/mesures/ Mesures brutes CSV et conditions des expériences
resultats/rapport_reference.txt Rapport attendu
resultats/rapport_reference.txt Référence historique (250 000 mots)
resultats/rapport_reference_10000000.txt Référence actuelle (10 millions)
COMPTE_RENDU.md Compte rendu noté
build/ Fichiers générés localement, ignorés par Git
```
@@ -27,7 +32,7 @@ Depuis la racine du dépôt :
```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 check # Exécuter et comparer à la référence de 10 millions de mots
make profile # Produire build/profil/profil.txt avec -pg et gprof
make clean # Supprimer les fichiers générés de build/
```
@@ -43,6 +48,11 @@ 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/`.
Le [test à 10 millions de mots](resultats/mesures/comparaison_decoupage_10000000.json)
compare les versions avant et après le découpage en place, avec deux mesures
sans instrumentation et un profil par version. Les rapports des deux
versions sont identiques octet par octet.
## Documents et résultats
- [Compte rendu](COMPTE_RENDU.md)
@@ -50,3 +60,5 @@ dans `resultats/` sont les résultats des différentes étapes ; `make profile`
- [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)
- [Comparaison du découpage sur le même PC](resultats/mesures/comparaison_decoupage_meme_pc.csv)
- [Comparaison du découpage sur 10 millions de mots](resultats/mesures/comparaison_decoupage_10000000.csv)