forked from menault/2026_TD1_DEV51_Qualite_Algo
57 lines
3.4 KiB
Markdown
57 lines
3.4 KiB
Markdown
# Résultats conservés
|
|
|
|
Les profils 00 à 09 portent sur **250 000 mots** et suivent l'ordre des
|
|
optimisations. Les commits des étapes
|
|
00 à 08 contiennent les versions de `analyseur.c` avant son déplacement
|
|
dans `src/`. Pour l'étape 09, les conditions de mesure identifient le
|
|
commit de référence et les empreintes SHA-256 des deux sources comparées.
|
|
|
|
| Étape | Profil | Version du code |
|
|
| --- | --- | --- |
|
|
| 00 — Programme initial | [00_initial.txt](profils/00_initial.txt) | `6c6f358` |
|
|
| 01 — Recherche dichotomique | [01_dichotomie.txt](profils/01_dichotomie.txt) | `be387e2` |
|
|
| 02 — Moyenne calculée une fois | [02_moyenne.txt](profils/02_moyenne.txt) | `d3f1987` |
|
|
| 03 — Recherche par hachage | [03_hachage.txt](profils/03_hachage.txt) | `57aaec4` |
|
|
| 04 — Longueurs et positions de fin | [04_longueurs.txt](profils/04_longueurs.txt) | `1c4405c` |
|
|
| 05 — Tri par tas | [05_tri.txt](profils/05_tri.txt) | `57c9ce9` |
|
|
| 06 — Analyse des bigrammes | [06_bigrammes.txt](profils/06_bigrammes.txt) | `e3076e4` |
|
|
| 07 — Index des mots vides | [07_mots_vides.txt](profils/07_mots_vides.txt) | `1331811` |
|
|
| 08 — Table de normalisation | [08_normalisation.txt](profils/08_normalisation.txt) | `19ad9b7` |
|
|
| 09 — Découpage en place | [09_decoupage.txt](profils/09_decoupage.txt) | [Sources et empreintes SHA-256](mesures/comparaison_decoupage_meme_pc.json) |
|
|
|
|
Les [mesures du bilan après le tri](mesures/mesures_bilan_tri.csv) comparent
|
|
le programme initial à l'étape 05. La colonne `final` désigne cette étape.
|
|
|
|
La [comparaison de normalisation](mesures/comparaison_normalisation_meme_pc.csv)
|
|
compare les étapes 07 et 08 sur le même PC, avec 50 mesures par version.
|
|
Les [conditions et statistiques](mesures/comparaison_normalisation_meme_pc.json)
|
|
précisent la machine, le compilateur, les sources et le protocole.
|
|
|
|
La [comparaison du découpage](mesures/comparaison_decoupage_meme_pc.csv)
|
|
compare les étapes 08 et 09 sur le même PC, avec 50 mesures de temps par
|
|
version. Le [pic mémoire](mesures/comparaison_decoupage_memoire.csv) est
|
|
mesuré séparément avec GNU time, cinq fois par version. Les
|
|
[conditions et statistiques](mesures/comparaison_decoupage_meme_pc.json)
|
|
décrivent les deux séries et les vérifications des résultats.
|
|
|
|
La comparaison complémentaire à **10 000 000 mots** est conservée séparément :
|
|
|
|
- [Profil avant découpage](profils/10000000_mots/avant_decoupage.txt).
|
|
- [Profil après découpage](profils/10000000_mots/apres_decoupage.txt).
|
|
- [Mesures brutes](mesures/comparaison_decoupage_10000000.csv) et
|
|
[conditions et statistiques](mesures/comparaison_decoupage_10000000.json).
|
|
|
|
Elle utilise deux mesures sans `-pg` et une exécution profilée par version,
|
|
sur le même CPU. Le seul changement de la version de référence est le
|
|
nombre de mots ; la version comparée ajoute le découpage en place.
|
|
|
|
Le [rapport historique](rapport_reference.txt), pour 250 000 mots, conserve
|
|
l'empreinte `1d53de903efd2b7c`. La [référence actuelle à 10 millions](rapport_reference_10000000.txt)
|
|
a l'empreinte `b35be1258a9cb3f6`. Elle provient de la version avant découpage
|
|
et a été vérifiée à l'identique avec la version après découpage.
|
|
`make check` compare maintenant le rapport courant à cette nouvelle référence.
|
|
|
|
Les commandes historiques et les autres mesures sont décrites dans le
|
|
[journal](../docs/notes.md). Chaque gain de temps doit être calculé à partir
|
|
de versions exécutées dans les mêmes conditions sur la même machine.
|