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

Ole Agesen and Urs Hölzle
Abstract: Two promising optimization techniques for object-oriented languages are type feedback (dynamic, i.e., profile-driven) and concrete type inference (static). 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 >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.

Proceedings of the ACM OOPSLA `95 Conference, Austin, Texas, October 1995.

To get the PostScript file, click here (PDF).