Self Papers 4.5.0 documentation

Making Pure Object-Oriented Languages Practical

«  Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs   ::   Contents   ::   Optimizing Dynamically-Typed Object-Oriented Programming Languages with Polymorphic Inline Caches  »

Making Pure Object-Oriented Languages Practical

Craig Chambers and David Ungar

Abstract:

In the past, object-oriented language designers and programmers have been forced to choose between pure message passing and performance. Last year, our Self system achieved close to half the speed of optimized C but suffered from impractically long compile times. Two new optimization techniques, deferred compilation of uncommon cases and non-backtracking splitting using path objects, have improved compilation speed by more than an order of magnitude. Self now compiles about as fast as an optimizing C compiler and runs at over half the speed of optimized C. This new level of performance may make pure object-oriented languages practical.

OOPSLA ‘91 Conference Proceedings, pp. 1-15, Phoenix, AZ, October, 1991.

Published as SIGPLAN Notices 26(11), November, 1991.

PDF

«  Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs   ::   Contents   ::   Optimizing Dynamically-Typed Object-Oriented Programming Languages with Polymorphic Inline Caches  »