Title
Dynamic versus static optimization techniques for object-oriented languages
Abstract
Object-oriented programs can be optimized either dynamically, i.e., based on run-time information, or statically, i.e., based on program analysis alone. Two promising optimization techniques for object-oriented languages are type feedback (dynamic) and concrete type inference (static). We directly compare the two techniques, evaluating their effectiveness on a suite of 23 S ELF programs while keeping other factors constant. Our results show that both systems inline >95% of all sends and deliver similar overall performance with one exception: SELF's automatic coercion of machine integers to arbitrary-precision integers upon overflow confounds type inference and slows down arithmetic-intensive benchmarks. We also show that a system combining the two optimizations can combine their strengths and outperform each individual optimization. We discuss several other issues which, given the comparable run-time performance, may influence the choice between type feedback and type inference.
Year
Venue
Keywords
1995
TAPOS
static optimization technique,object-oriented language,program analysis,object oriented language,object oriented programming,type inference
Field
DocType
Volume
Integer,Fifth-generation programming language,Object-oriented programming,Method,Suite,Computer science,Object type,Type inference,Theoretical computer science,Program analysis
Journal
1
Issue
Citations 
PageRank 
3
15
1.52
References 
Authors
14
2
Name
Order
Citations
PageRank
Urs Hölzle13492346.29
Ole Agesen246866.64