Analyse des performances

Une nouvelle optimisation du compilateur réduit de 20 % le nombre d'instructions exécutées, mais augmente le CPI moyen de 10 % (fréquence inchangée). Quel est l'effet correct de cette optimisation ?

  1. ALe CPI ayant augmenté, l'exécution est forcément plus lente
  2. BLe temps d'exécution est multiplié par 0,8
  3. CLe temps d'exécution est multiplié par 0,88 : l'exécution est plus rapide
Afficher la réponse et l'explication

Réponse : C. Le temps d'exécution est multiplié par 0,88 : l'exécution est plus rapide

Le temps d'exécution étant proportionnel au produit du nombre d'instructions et du CPI, il est multiplié par 0,8 × 1,1 = 0,88, soit une réduction d'environ 12 %. Il est fréquent qu'améliorer un facteur en dégrade un autre, comme lorsque des instructions complexes réduisent leur nombre mais alourdissent chacune d'elles. Juger sur le seul CPI ou le seul nombre d'instructions conduit à l'erreur : la comparaison doit porter sur le produit.

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

Autres questions sur Analyse des performances

  1. Un programme comporte 50 % d'opérations entières (CPI 1), 30 % de chargements et rangements (CPI 2) et 20 % de branchements (CPI 5). Quel est le CPI moyen ?
  2. Quelle précaution est correcte lorsqu'on compare des CPU selon le « nombre d'instructions exécutées par seconde (millions d'instructions par seconde) » ?
  3. Comment calcule-t-on correctement l'« accélération » (speedup) exprimant une amélioration des performances ?
  4. Une partie représentant 50 % du traitement total est rendue 4 fois plus rapide. Quelle est l'accélération globale (loi d'Amdahl) ?
  5. On souhaite rendre l'ensemble 2 fois plus rapide en n'accélérant que la partie représentant 60 % du traitement. De quel facteur faut-il accélérer cette partie ?

Comparatifs sur ce thème