Analyse des performances
Pourquoi, lors de la mesure du temps d'exécution d'un programme, répète-t-on souvent la mesure en écartant les premiers résultats ?
- AParce que les premiers résultats de calcul sont toujours faux
- BParce qu'au début, les caches sont vides, des fichiers sont lus et une compilation à l'exécution a lieu, ce qui ralentit et rend les mesures dispersées
- CParce que la répétition d'une même mesure fait construire au CPU un circuit plus rapide
Afficher la réponse et l'explication
Réponse : B. Parce qu'au début, les caches sont vides, des fichiers sont lus et une compilation à l'exécution a lieu, ce qui ralentit et rend les mesures dispersées
Lors de la première exécution, les caches, le TLB et le prédicteur de branchement partent d'un état vide, les fichiers absents du cache de l'OS doivent être lus sur disque, et les langages à compilateur JIT effectuent la traduction en code machine. Les premières exécutions sont donc plus lentes. De plus, les mesures fluctuent à cause des autres programmes, des interruptions et des variations de fréquence dues à la température : il importe de mesurer plusieurs fois et d'indiquer moyenne ou médiane ainsi que la dispersion.