An analysis of inline substitution for a structured programming language
- 1 September 1977
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 20 (9), 647-654
- https://doi.org/10.1145/359810.359830
Abstract
An optimization technique known as inline substitution is analyzed. The optimization consists of replacing a procedure invocation by a modified copy of the procedure body. The general problem of using inline substitution to minimize execution time subject to size constraints is formulated, and an approximate algorithmic solution is proposed. The algorithm depends on run-time statistics about the program to be optimized. Preliminary results for the CLU structured programming language indicate that, in programs with a low degree of recursion, over 90 percent of all procedure calls can be eliminated, with little increase in the size of compiled code and a small savings in execution time. Other conclusions based on these results are also presented.Keywords
This publication has 7 references indexed in Scilit:
- Approximate Algorithms for the 0/1 Knapsack ProblemJournal of the ACM, 1975
- Optimization of structured programsSoftware: Practice and Experience, 1974
- Programming with abstract data typesPublished by Association for Computing Machinery (ACM) ,1974
- A FORTRAN to FORTRAN optimising compilerThe Computer Journal, 1973
- An empirical study of FORTRAN programsSoftware: Practice and Experience, 1971
- Revised report on the algorithmic language ALGOL 60Communications of the ACM, 1963
- A Small Business Computer at WorkThe Computer Journal, 1962