forked from menault/2026_TD1_DEV51_Qualite_Algo
Compare commits
2 Commits
6165b37b51
...
55320bdfea
| Author | SHA1 | Date | |
|---|---|---|---|
| 55320bdfea | |||
| e6b452bdbe |
@@ -0,0 +1,45 @@
|
|||||||
|
# TD — Consignes
|
||||||
|
|
||||||
|
## Travail demandé
|
||||||
|
|
||||||
|
1. **Mesurer**
|
||||||
|
|
||||||
|
Compilez le programme sans `-pg`, lancez-le avec `time`, puis notez le
|
||||||
|
temps d'exécution et l'empreinte mémoire.
|
||||||
|
|
||||||
|
2. **Profiler**
|
||||||
|
|
||||||
|
Recompilez en `-O0` avec `-pg`, lancez le programme, puis générez le
|
||||||
|
profil dans `profil_avant.txt` avec `gprof`.
|
||||||
|
|
||||||
|
3. **Analyser**
|
||||||
|
|
||||||
|
Étudiez le profil plat et le graphe d'appels : où le temps est-il passé,
|
||||||
|
et pourquoi ?
|
||||||
|
|
||||||
|
4. **Proposer**
|
||||||
|
|
||||||
|
Listez les pistes d'amélioration, classées par gain attendu.
|
||||||
|
|
||||||
|
5. **Optimiser**
|
||||||
|
|
||||||
|
Réalisez une optimisation par commit. L'empreinte mémoire doit rester
|
||||||
|
identique.
|
||||||
|
|
||||||
|
6. **Valider**
|
||||||
|
|
||||||
|
Reprofilez le programme dans `profil_apres.txt` et chiffrez le gain
|
||||||
|
obtenu.
|
||||||
|
|
||||||
|
## Compte rendu noté
|
||||||
|
|
||||||
|
Le fichier `COMPTE_RENDU.md` doit être présent à la racine de votre fork.
|
||||||
|
Il doit contenir :
|
||||||
|
|
||||||
|
- les temps avant et après optimisation ;
|
||||||
|
- l'analyse du profil ;
|
||||||
|
- les pistes d'amélioration proposées ;
|
||||||
|
- les optimisations réalisées ;
|
||||||
|
- les gains mesurés.
|
||||||
|
|
||||||
|
> **Contrôle continu** — Le compte rendu est évalué dans le cadre du TD.
|
||||||
+1
-1
@@ -14,7 +14,7 @@
|
|||||||
* L'empreinte affichée à la fin doit rester IDENTIQUE après optimisation :
|
* L'empreinte affichée à la fin doit rester IDENTIQUE après optimisation :
|
||||||
* elle prouve que le résultat du programme n'a pas changé.
|
* elle prouve que le résultat du programme n'a pas changé.
|
||||||
*
|
*
|
||||||
* Compilation : gcc -O0 -g -pg analyseur.c -o analyseur
|
* Compilation : gcc -O0 -pg analyseur.c -o analyseur
|
||||||
* Exécution : ./analyseur
|
* Exécution : ./analyseur
|
||||||
* Profil : gprof ./analyseur gmon.out > profil.txt
|
* Profil : gprof ./analyseur gmon.out > profil.txt
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user