Compiler
Welche Optimierung wird durch Link-Time Optimization (LTO) am ehesten möglich?
- AAuch Funktionen in verschiedenen Dateien können z. B. inline eingesetzt werden
- BNur Schleifen innerhalb einer einzelnen Funktion lassen sich entfalten
- CDas Linken entfällt, und Objektdateien sind direkt ausführbar
Antwort und Erläuterung anzeigen
Antwort: A. Auch Funktionen in verschiedenen Dateien können z. B. inline eingesetzt werden
Bei der normalen Kompilierung wird jede Quelldatei einzeln in Maschinencode übersetzt; der Inhalt von Funktionen in anderen Dateien ist daher nicht sichtbar, und dateiübergreifendes Inlining oder Konstantenpropagierung ist nicht möglich. Bei LTO werden die einzelnen Dateien in der Zwischendarstellung belassen und das gesamte Programm wird beim Linken gemeinsam optimiert. Dadurch werden dateiübergreifendes Inlining und die Entfernung von nirgends aufgerufenen Funktionen möglich. Das Entfalten von Schleifen innerhalb einer Funktion ist auch bei der normalen Kompilierung möglich.