Link-time Improvement of Scheme Programs
Saumya Debray Robert Muth Scott Watterson
Department of Computer Science
University of Arizona
Tucson, AZ 85721, U.S.A.
Abstract
Optimizing compilers typically limit the scope of their analyses and
optimizations to individual modules. This has two drawbacks: first,
library code cannot be optimized together with their callers, which
implies that reusing code through libraries incurs a penalty; and
second, the results of analysis and optimization cannot be propagated from
an application module written in one language to a module written in
another. A possible solution is to carry out (additional) program
optimization at link time. This paper describes our experiences with
such optimization using three different optimizing Scheme compilers,
and several benchmark programs, via alto, a link-time optimizer we
have developed for the DEC Alpha architecture. Experiments indicate
that significant performance improvements are possible via link-time
optimization even when the input programs have already been subjected to
high levels of compile-time optimization.