Qu'est-ce que Profileur ?

Outil qui mesure quelles fonctions ou parties d'un programme consomment le plus de temps d'exécution. Il en existe à échantillonnage et à instrumentation.

Nom japonais: プロファイラ

« Profileur » apparaît dans 8 questions d'entraînement réparties sur 2 thèmes, dont Analyse des performances, Programmation GPU.

Domaine: Analyse des performances

S'entraîner : questions sur Profileur

Quel est l'objectif correct de l'utilisation d'un profileur pour améliorer les performances d'un programme ?

  1. ADétecter les erreurs de syntaxe du programme
  2. BCompter le nombre d'utilisateurs du programme
  3. CDéterminer quelles fonctions ou parties du programme consomment l'essentiel du temps d'exécution
Afficher la réponse et l'explication

Réponse : C. Déterminer quelles fonctions ou parties du programme consomment l'essentiel du temps d'exécution

Dans la plupart des programmes, l'essentiel du temps d'exécution est consommé par une infime partie du code. Or les suppositions humaines sur les parties lentes sont souvent erronées. Un profileur mesure et affiche le temps d'exécution et le nombre d'appels par fonction, voire le temps par ligne ou par instruction. Conformément à la loi d'Amdahl, il est efficace d'améliorer les parties les plus consommatrices : mesurer est la première étape de l'amélioration 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.

« Profileur » dans les explications

Questions mentionnant « Profileur » (8)

  1. Quel est l'objectif correct de l'utilisation d'un profileur pour améliorer les performances d'un programme ?
  2. Quelle caractéristique d'un profileur par échantillonnage est correcte ?
  3. 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 ?
  4. Quel énoncé est correct au sujet de l'occupation d'un GPU ?
  5. Quel est l'enseignement le plus approprié de la loi d'Amdahl concernant la démarche d'amélioration des performances ?
  6. Quelle description d'un point chaud (hotspot) dans l'analyse des performances d'un programme est correcte ?
  7. Quelle est la démarche la plus appropriée pour améliorer les performances d'un programme ?
  8. Lors de l'analyse des performances d'un programme utilisant un GPU, quel est le premier point le plus approprié à vérifier ?

Termes associés

Loi d'Amdahl GPU Interruption Compteur de performance Taux d'occupation (occupancy) Analyse top-down Benchmark (banc d'essai) Benchmark STREAM CPI Débit (throughput)

Retour au glossaire