Compiler
Welches ist ein richtiges Beispiel für Constant Folding im Compiler?
- AMehrfache Aufrufe derselben Funktion werden zu einem einzigen Aufruf zusammengefasst
- Bx = 3 * 4 wird zur Kompilierzeit berechnet und zu x = 12
- CDer Schleifenrumpf wird viermal aneinandergereiht, wodurch die Zahl der Iterationen sinkt
Antwort und Erläuterung anzeigen
Antwort: B. x = 3 * 4 wird zur Kompilierzeit berechnet und zu x = 12
Constant Folding ist eine Optimierung, die Ausdrücke, deren Wert zur Kompilierzeit feststeht, vorab berechnet und durch die konstante Ergebnisgröße ersetzt. 3 * 4 ergibt bei jeder Ausführung 12, daher muss zur Laufzeit nicht multipliziert werden. In Kombination mit Konstantenpropagierung lassen sich auch Berechnungen über Variablen zusammenfassen. Bei Gleitkommazahlen sind Vorsichtsmaßnahmen nötig, etwa einheitliche Rundungsverfahren. Das Aneinanderreihen von Schleifenrümpfen ist Loop Unrolling, das Zusammenfassen von Funktionsaufrufen eine andere Optimierung.