Optimizing multi-method dispatch using compressed dispatch tables

  • Authors:
  • Eric Amiel;Olivier Gruber;Eric Simon

  • Affiliations:
  • INRIA Rocquencourt, Projet RODIN, BP 105, 78153 Le Chesnay Cedex, France;INRIA Rocquencourt, Projet RODIN, BP 105, 78153 Le Chesnay Cedex, France;INRIA Rocquencourt, Projet RODIN, BP 105, 78153 Le Chesnay Cedex, France

  • Venue:
  • OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

Optimizing method dispatch is a central issue in object-oriented language implementation. The dispatch table scheme, used for example by C++, is the only implementation of method dispatch that offers constant time performance. This property is the main asset of dispatch tables and a major requirement for some languages. However, the major drawback of dispatch tables is the space they require. Reducing the size of dispatch tables has been studied in the case of mono-methods with techniques such as coloring. In the case of multi-methods, dispatch tables are practically unusable as they grow as a power of the number of arguments. In this paper, we propose an algorithm to compress the dispatch tables of multi-methods by analyzing their signatures.