Function inlining
Appearance
Function inlining is an optimization technique to transform function calls into a code structure that takes less time to execute. It can be performed at several steps in the software building process.
Function inlining is performed by translating function calls to a particular routine into the full code of the routine. This removes the overhead of calling the routine (and, under some architectures, the overhead of creating a new stack frame). However, this increases the size of the compiled executable, which can lead to cache exhaustion and a resulting decrease in speed. Consequently, inlining is usually only used with short, commonly used routines.
See also
External links
- "Eliminating Virtual Function Calls in C++ Programs" by Gerald Aigner and Urs Hölzle
- "Reducing Indirect Function Call Overhead In C++ Programs" by Brad Calder and Dirk Grumwald
- ALTO - A Link-Time Optimizer for the DEC Alpha
- Article "Advanced techniques" by John R. Levine
- Article "Inlining Semantics for Subroutines which are Recursive" by Henry G. Baker
- Article "Whole Program Optimization with Visual C++ .NET" by Brandon Bray