An analysis of inline substitution for a structured programming language

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 ap...

Full description

Saved in:
Bibliographic Details
Published inCommunications of the ACM Vol. 20; no. 9; pp. 647 - 654
Main Author Scheifler, Robert W.
Format Magazine Article
LanguageEnglish
Published 01.09.1977
Online AccessGet full text
ISSN0001-0782
1557-7317
DOI10.1145/359810.359830

Cover

Loading…
More Information
Summary: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.
Bibliography:ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
ISSN:0001-0782
1557-7317
DOI:10.1145/359810.359830