Analyse des performances

Quelle est la démarche la plus appropriée pour améliorer les performances d'un programme ?

  1. AMesurer d'abord pour trouver les parties consommatrices de temps, les améliorer, puis mesurer de nouveau pour vérifier l'effet
  2. BDeviner les parties qui semblent lentes et les réécrire sans mesurer
  3. COptimiser toutes les fonctions de manière égale
Afficher la réponse et l'explication

Réponse : A. Mesurer d'abord pour trouver les parties consommatrices de temps, les améliorer, puis mesurer de nouveau pour vérifier l'effet

Les suppositions sur les parties lentes sont souvent erronées, même chez les personnes expérimentées. On mesure d'abord avec un profileur ou des compteurs de performance pour identifier les parties consommatrices et leur cause (calcul, mémoire, branchements, entrées-sorties, etc.). Après amélioration, on mesure de nouveau dans les mêmes conditions pour vérifier que l'exécution est réellement plus rapide et qu'aucune autre partie n'a ralenti. Cette itération est le moyen sûr d'améliorer les performances.

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

Autres questions sur Analyse des performances

  1. Pour un programme traitant de grandes quantités de données, quelle amélioration a le plus de chances d'apporter la plus forte accélération ?
  2. Dans le développement logiciel, quel est l'objectif correct de l'exécution automatique de benchmarks à chaque modification, avec enregistrement des résultats ?
  3. Sur un ordinateur portable, les résultats d'un benchmark varient fortement d'une exécution à l'autre pour le même programme. Quelle association entre cause côté CPU et remède est correcte ?
  4. Pourquoi, lors de mesures de performances sur un système multicœur ou NUMA, fixe-t-on parfois les threads sur des cœurs spécifiques (réglage de l'affinité) ?
  5. Lors de l'analyse des performances d'un programme utilisant un GPU, quel est le premier point le plus approprié à vérifier ?