Perfect hashing as an almost perfect subtype test

16Citations
Citations of this article
15Readers
Mendeley users who have this article in their library.

Abstract

Subtype tests are an important issue in the implementation of object-oriented programming languages. Many techniques have been proposed, but none of them perfectly fulfills the five requirements that we have identified: constant-time, linear-space, multiple inheritance, dynamic loading and inlining. In this article, we propose a subtyping test implementation that involves a combination of usual hashtables and Cohen's display, which is a well-known technique for single inheritance hierarchies. This novel approach is based on perfect hashing, that is, an optimized and truly constant-time variant of hashing that applies to immutable hashtables. We show that the resulting technique closely meets all five requirements. Furthermore, in the framework of JAVA-like languagescc-characterized by single inheritance of classes and multiple subtyping of interfaces-perfect hashing also applies to method invocation when the receiver is typed by an interface. The proposed technique is compared to some alternatives, including the proposal by Palacz and Vitek [2003]. Time-efficiency is assessed at the cycle level in the framework of Driesen's pseudo-code and the linear-space criterion is validated by statistical simulation on benchmarks consisting of large-scale class hierarchies. © 2008 ACM.

Cite

CITATION STYLE

APA

Ducournau, R. (2008). Perfect hashing as an almost perfect subtype test. ACM Transactions on Programming Languages and Systems, 30(6). https://doi.org/10.1145/1391956.1391960

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free