Compiler

Welche Beschreibung der profilgesteuerten Optimierung (PGO) ist richtig?

  1. AEine Funktion, die den Quellcode lesbarer umformatiert
  2. BEine Funktion, bei der der Compiler per Zufall mehrere Optimierungsverfahren auswählt und die Ergebnisse vergleicht
  3. CErneute Kompilierung anhand der Aufzeichnung einer Ausführung mit repräsentativen Eingaben
Antwort und Erläuterung anzeigen

Antwort: C. Erneute Kompilierung anhand der Aufzeichnung einer Ausführung mit repräsentativen Eingaben

Bei PGO wird zunächst ein mit Messbefehlen kompiliertes Programm mit repräsentativen Eingaben ausgeführt und aufgezeichnet, welche Verzweigungen häufig durchlaufen und welche Funktionen oft aufgerufen werden. Anschließend wird mit diesen Informationen neu kompiliert, wobei häufig genutzte Pfade linear angeordnet und oft aufgerufene Funktionen inline eingesetzt werden, sodass die Optimierung zur tatsächlichen Nutzung passt. Weichen die Eingaben stark von der tatsächlichen Nutzung ab, lässt die Wirkung nach. Mit Quellcode-Formatierung oder zufälliger Auswahl hat es nichts zu tun.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Compiler

  1. Welche Optimierung wird durch Link-Time Optimization (LTO) am ehesten möglich?
  2. In C ist der Überlauf von vorzeichenbehafteten Ganzzahlen undefiniertes Verhalten. Welcher Code kann ein optimierender Compiler unter dieser Voraussetzung für die obige Funktion erzeugen?
  3. Welcher Programmfehler lässt sich bereits zur Kompilierzeit finden?
  4. Was ist der Hauptvorteil der Typprüfung durch den Compiler bei einer Sprache mit statischen Typen?
  5. Was wird häufig verwendet, um die Regeln zur Erkennung von Token in der lexikalischen Analyse auszudrücken?

Vergleiche zu diesem Thema