Analyse des performances

Quelle caractéristique d'un profileur par échantillonnage est correcte ?

  1. AIl enregistre sans exception chaque entrée et sortie de toutes les fonctions
  2. BIl interrompt le programme à intervalles réguliers, enregistre l'emplacement en cours d'exécution et considère les emplacements les plus souvent enregistrés comme consommateurs de temps
  3. CIl se contente de lire le code source sans l'exécuter
Afficher la réponse et l'explication

Réponse : B. Il interrompt le programme à intervalles réguliers, enregistre l'emplacement en cours d'exécution et considère les emplacements les plus souvent enregistrés comme consommateurs de temps

Un profileur par échantillonnage enregistre, sur interruption d'un timer ou d'un compteur de performance, par exemple plusieurs milliers de fois par seconde, l'emplacement de l'instruction en cours (et la pile d'appels). Plus un emplacement consomme de temps, plus il est enregistré souvent, ce qui révèle statistiquement les parties lourdes. Le programme n'étant pas modifié, le surcoût de mesure est faible et les conditions restent proches du réel ; en revanche, le nombre exact d'appels de traitements très courts n'est pas connu.

S'entraîner sur ce thème Retour au thème

Autres questions sur Analyse des performances

  1. Qu'est-ce qui est correct concernant un profileur par instrumentation, qui insère du code de mesure du temps à l'entrée et à la sortie des fonctions ?
  2. Quelle description d'un point chaud (hotspot) dans l'analyse des performances d'un programme est correcte ?
  3. Quelle lecture d'un flame graph, représentation des résultats de profilage, est correcte ?
  4. Quel exemple de grandeurs comptées par les compteurs de performance intégrés au CPU (PMU) est correct ?
  5. Les compteurs de performance indiquent qu'un programme a un IPC (instructions par cycle) très faible de 0,3 et beaucoup de défauts dans le cache de dernier niveau. Quelle association entre situation probable et remède est la plus plausible ?

Comparatifs sur ce thème