Do object-oriented languages need special hardware support?
Urs Hölzle
and
David Ungar
Abstract:
Previous studies have shown that object-oriented programs have
different execution characteristics than procedural programs, and that
special object-oriented hardware can improve performance. The results
of these studies may no longer hold because compiler optimizations can
remove a large fraction of the differences. Our measurements show that
SELF programs are more similar to C programs than are C++ programs,
even though SELF is much more radically object-oriented than C++ and
thus should differ much more from C.
Furthermore, the benefit of tagged arithmetic instructions in the
SPARC architecture (originally motivated by Smalltalk and Lisp
implementations) appears to be small. Also, special hardware could
hardly reduce message dispatch overhead since dispatch sequences are
already very short. Two generic hardware features, instruction cache
size and data cache write policy, have a much greater impact on
performance.
Technical Report TRCS 94-21, Computer Science Department, University
of California, Santa Barbara, November 1994. Presented at ECOOP `95,
Aarhus, Denmark, August 1995.
Here are the PostScript files of the
tech report
PDF
and the
ECOOP paper
PDF.