kirancodes.me
To Proof Maintenance & Beyond!

Type Feedback vs. Concrete Type Inference: A Comparison of Optimization Techniques for Object-Oriented Languages

Ole Agesen, Urs Hölzle

Abstract

Two promising optimization techniques for object-oriented languages are type feedback (profile-based receiver class prediction) and concrete type inference (static analysis). We directly compare the two techniques, evaluating their effectiveness on a suite of 23 SELF programs while keeping other factors constant.Our results show that both systems inline over 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 discuss several other issues which, given the comparable run-time performance, may influence the choice between type feedback and type inference.

Related papers