Funktionsinlining
Funktionsinlining bezeichnet eine Optimierung von Compilern, bei der Aufrufe einer Funktion durch den eigentlichen Funktionskörper ersetzt werden. Dadurch entfallen der Aufruf-Overhead und der Sprung zur Funktion, und der kompilierte Code kann an der Aufrufstelle direkt weiteroptimiert werden. Ziel ist es, die Laufzeit zu verbessern und gleichzeitig weitere Optimierungen zu ermöglichen, da der Code an der Stelle des Aufrufs sichtbar wird.
Das Inlining erfolgt entweder explizit durch Hinweise wie das inline-Schlüsselwort oder automatisch durch den Optimierer. In
Zu den Vorteilen gehören niedrigere Laufzeitkosten durch Wegfall des Funktionsaufrufs, sowie erweiterte Optimierungsmöglichkeiten wie Konstantenpropagierung, Dead-Code-Elimination,
Nachteile umfassen potenzielle Codevergrößerung (Code-Bloat), was die Instruction-Cache-Effizienz verschlechtern kann, sowie längere Compile-Zeiten. Sehr große oder
In der Praxis wird Inlining häufig für kleine, häufig verwendete Funktionen eingesetzt, z. B. einfache Getter