Compiler
Welche Beschreibung der profilgesteuerten Optimierung (PGO) ist richtig?
- AEine Funktion, die den Quellcode lesbarer umformatiert
- BEine Funktion, bei der der Compiler per Zufall mehrere Optimierungsverfahren auswählt und die Ergebnisse vergleicht
- 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.