Compilateurs

Comment appelle-t-on l'optimisation qui examine par une petite fenêtre de courtes séquences du code machine généré pour remplacer des combinaisons d'instructions inefficaces par de meilleures instructions ?

  1. AOptimisation à lucarne (peephole)
  2. BOptimisation à l'édition de liens
  3. COptimisation guidée par profil
Afficher la réponse et l'explication

Réponse : A. Optimisation à lucarne (peephole)

L'optimisation à lucarne n'examine, comme par un judas (peephole), que quelques instructions consécutives, pour y repérer et remplacer les inefficacités. Elle supprime par exemple la lecture d'un emplacement mémoire juste après son écriture, efface l'ajout de 0 ou fusionne deux instructions en une. Souvent appliquée après la génération de code, elle est simple mais efficace. L'optimisation à l'édition de liens porte sur l'ensemble du programme, l'optimisation guidée par profil utilise les traces d'exécution.

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

Autres questions sur Compilateurs

  1. Dans le code ci-dessus, quelle optimisation s'applique ensuite après l'expansion en ligne de sq, et avec quel résultat ?
  2. Quelle définition du pipeline logiciel (software pipelining) est correcte ?
  3. Pourquoi un compilateur, sous réglage strict, ne réordonne-t-il pas de lui-même l'addition en virgule flottante (a + b) + c en a + (b + c) ?
  4. Quel type d'instructions la vectorisation automatique du compilateur utilise-t-elle ?
  5. Quelle condition fondamentale les optimisations du compilateur doivent-elles respecter ?

Comparatifs sur ce thème