Profiling
Le profilage échantillonne l'utilisation des ressources d'un programme à l'exécution (CPU/mémoire/IO), localisant les fonctions chaudes et les goulots d'étranglement pour guider l'optimisation.
Objectif
Localiser les goulots d'étranglement avec des données, en évitant les optimisations à l'aveugle.
Mécanisme
Profil CPU : échantillonne les piles d'appels pour trouver les fonctions coûteuses. Profil de tas : points chauds d'allocation mémoire. Les flame graphs visualisent le temps de pile. Node --prof, Python cProfile, Java JFR. L'échantillonnage en production minimise la surcharge.
Cas d’usage
- Optimisation des performances
- Identification des goulots d'étranglement
- Graphiques de flamme
Termes associés
Flame Graph
Le flame graph visualise en flammes les piles d'appels échantillonnées : la largeur sur l'axe x d'une frame égale sa part de temps, l'axe y la profondeur d'appel, révélant les points chauds. GLOSSAIRE
Just-In-Time Compilation
Le JIT compile à l'exécution le code chaud en code machine, combinant la souplesse d'un interprète et la performance d'un compilateur. GLOSSAIRE