Compiler

Wie heißt die Optimierung, die eine kurze Folge erzeugten Maschinencodes durch ein kleines Fenster betrachtet und ungünstige Befehlskombinationen durch bessere Befehle ersetzt?

  1. APeephole-Optimierung
  2. BLink-Time Optimization
  3. CProfilgesteuerte Optimierung
Antwort und Erläuterung anzeigen

Antwort: A. Peephole-Optimierung

Die Peephole-Optimierung betrachtet wie durch ein Guckloch (Peephole) nur wenige aufeinanderfolgende Befehle, findet Verschwendung und ersetzt sie. Sie spart z. B. einen Befehl ein, der direkt nach dem Schreiben eines Werts in den Speicher von derselben Stelle liest, löscht Befehle, die 0 addieren, oder fasst zwei Befehle zu einem zusammen. Sie wird oft nach der Codeerzeugung durchgeführt und ist eine einfache, aber wirkungsvolle Optimierung. Link-Time Optimization optimiert das gesamte Programm, profilgesteuerte Optimierung nutzt Ausführungsaufzeichnungen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Compiler

  1. Welche Optimierung greift im obigen Code nach dem Inlining von sq, und welches Ergebnis ist richtig?
  2. Welche Beschreibung von Software Pipelining ist richtig?
  3. Warum ordnet ein Compiler bei strenger Einstellung die Gleitkommaaddition (a + b) + c nicht eigenmächtig zu a + (b + c) um?
  4. Welche Befehlsart wird bei der automatischen Vektorisierung des Compilers verwendet?
  5. Welche grundlegende Bedingung muss die Optimierung eines Compilers einhalten?

Vergleiche zu diesem Thema