From Recursion to Iteration: What are the Optimizations?

dc.contributor.authorLiu, Yanhong; Stoller, Scott
dc.date.accessioned2025-11-11T23:23:17Z
dc.date.available2025-11-11T23:23:17Z
dc.date.issued1999-07
dc.description.abstractTransforming recursion into iteration eliminates the use of stack frames during program execution. It has been studied extensively. This paper describes a general and powerful method, based on incrementalization, for transforming general recursion into iteration: identify an input increment, derive an incremental version under the input increment, and form an iterative computation using the incremental version. Exploiting incrementalization yields iterative computation in a uniform way and also allows additional optimizations to be explored cleanly and applied systematically, in most cases yielding iterative programs that use constant additional space, reducing additional space usage asymptotically. We summarize major optimizations, complexity improvements, and performance measurements. Our analyses and measurements show that some previously considered ``optimizations'' can actually result in slower programs.
dc.identifier.urihttps://hdl.handle.net/2022/34370
dc.relation.ispartofseriesIndiana University Computer Science Technical Reports; TR527
dc.rightsThis work is protected by copyright unless stated otherwise.
dc.rights.uri
dc.titleFrom Recursion to Iteration: What are the Optimizations?

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR527.pdf
Size:
322.7 KB
Format:
Adobe Portable Document Format
Can’t use the file because of accessibility barriers? Contact us