Software Practice and Experience · 1988 · 82 citations · 3 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureProgramming LanguagesCode GenerationCompiler ConstructionControl-flow AnalysisData-flow AnalysisCode Size OptimizationExecution Time AnalysisFunction InliningInlining
Abstract Although the inline expansion of subprograms has often been cited as a method for improving a program's execution time, few available compilers perform the operation, and fewer still perform it without requiring explicit direction from the programmer. The authors have written a tool called INLINER, which is a source‐to‐source filter that automatically performs inline expansion of C functions in a module. With this tool, the effect of inlining was investigated using a set of programs on several machines. The authors' findings are presented, including an instance (unrelated to the size of the inlined executable) in which inlining can diminish a program's performance, and evidence that the size of the inlined executable does not, in practice, prove to cause problems.
3
William A. Wulf, David Russell, A. N. Habermann · Communications of the ACM · 1971 · 226 citations · Full text