Subprogram Inlining: A Study of its Effects on Program Execution TimeReport
Equations representing the execution time performance on noninlined and inlined versions of a program have been developed. The accuracy of the equations' description of inlined program execution time behavior was demonstrated on four computer systems. Using the equations, understanding of how certain factors influence the speed of inlined code was gained. Contrary to a number of published reports in the literature, the increased size of inlined code was not found to affect its execution time performance on demand-paged virtual memory machines. On such systems, neither the use of an inlining algorithm that includes program size constraints nor the substitution of interprocedural data flow analysis for inlining is warranted. A modest improvement in the caching and paging behavior of test programs' inlined versions was also observed. Situations in which inlining was not beneficial, which were related to its interactions with register allocation, were characterized. Furthermore, investigation with the equations provided insights that can be of value to machine and compiler designers.
All rights reserved (no additional license for public reuse)
Davidson, Jack, and Anne Holler. "Subprogram Inlining: A Study of its Effects on Program Execution Time." University of Virginia Dept. of Computer Science Tech Report (1989).
University of Virginia, Department of Computer Science