skip to main content
Message Dispatch on Modern Computer ArchitecturesFebruary 1995
1995 Technical Report
Publisher:
  • University of California at Santa Barbara
  • Computer Science Dept. College of Engineering Santa Barbara, CA
  • United States
Published:09 February 1995
Bibliometrics
Skip Abstract Section
Abstract

Object-oriented systems must implement message dispatch efficiently in order not to penalize the object-oriented programming style. We characterize the performance of most previously published dispatch techniques for both statically- and dynamically-typed languages with both single and multiple inheritance. Hardware organization (in particular, branch latency and superscalar instruction issue) significantly impacts dispatch performance. For example, inline caching may outperform c++-style "vtables" on deeply pipelined processors even though it executes more instructions per dispatch. We also show that adding support for dynamic typing or multiple inheritance does not significantly impact dispatch speed for most techniques, especially on superscalar machines. Also, instruction space overhead (calling sequences) can exceed the space cost of data structures (dispatch tables), so that minimal table size may not imply minimal run-time space usage.

Contributors
  • Google LLC
  • Northeastern University

Recommendations