Fast and Compact Hash Tables for Integer Keys

Askitis, N.

    A hash table is a fundamental data structure in computer science that can offer rapid storage and retrieval of data. A leading implementation for string keys is the cacheconscious array hash table. Although fast with strings, there is currently no information in the research literature on its performance with integer keys. More importantly, we do not know how efficient an integer-based array hash table is compared to other hash tables that are designed for integers, such as bucketized cuckoo hashing. In this paper, we explain how to efficiently implement an array hash table for integers. We then demonstrate, through careful experimental evaluations, which hash table, whether it be a bucketized cuckoo hash table, an array hash table, or alternative hash table schemes such as linear probing, offers the best performance-with respect to time and space- for maintaining a large dictionary of integers in-memory, on a current cache-oriented processor.
Cite as: Askitis, N. (2009). Fast and Compact Hash Tables for Integer Keys. In Proc. Thirty-Second Australasian Computer Science Conference (ACSC 2009), Wellington, New Zealand. CRPIT, 91. Mans, B., Ed. ACS. 101-110.
pdf (from crpit.com) pdf (local if available) BibTeX EndNote GS