Home

About

Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network
FAQHELPSITE MAPCONTACT US


  Advanced Search  

 
LambdaSplitting: A HigherOrder Approach to CrossModule Optimizations Matthias Blume Andrew W. Appel
 

Summary: Lambda­Splitting: A Higher­Order Approach to Cross­Module Optimizations
Matthias Blume Andrew W. Appel
Princeton University, April 2, 1997
Abstract
We describe an algorithm for automatic inline expansion across
module boundaries that works in the presence of higher­order
functions and free variables; it rearranges bindings and scopes
as necessary to move nonexpansive code from one module to an­
other. We describe---and implement---the algorithm as transfor­
mations on #­calculus. Our inliner interacts well with separate
compilation and is e#cient, robust, and practical enough for ev­
eryday use in the SML/NJ compiler. Inlining improves perfor­
mance by 4--8% on existing code, and makes it possible to use
much more data abstraction by consistently eliminating penalties
for modularity.
1 Introduction
Abstraction and modular design of software promote clarity
and provide clear lines along which large projects can be
subdivided. But one often pays a large performance penalty
for using abstraction. Cross­module inlining can bridge the

  

Source: Appel, Andrew W. - Department of Computer Science, Princeton University

 

Collections: Computer Technologies and Information Sciences