Comparing integer data structures for 32- and 64-bit keys

  • Authors:
  • Nicholas Nash;David Gregg

  • Affiliations:
  • Trinity College Dublin, Ireland;Lero, Trinity College Dublin, Ireland

  • Venue:
  • Journal of Experimental Algorithmics (JEA)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this article, we experimentally compare a number of data structures operating over keys that are 32- and 64-bit integers. We examine traditional comparison-based search trees as well as data structures that take advantage of the fact that the keys are integers such as van Emde Boas trees and various trie-based data structures. We propose a variant of a burst trie that performs better in time than all the alternative data structures. In addition, even for small sets of keys, this burst trie variant occupies less space than comparison-based data structures such as red-black trees and B-trees. Burst tries have previously been shown to provide a very efficient base for implementing cache efficient string sorting algorithms. We find that with suitable engineering, they also perform excellently as a dynamic ordered data structure operating over integer keys. We provide experimental results when the data structures operate over uniform random data. We also present experimental results for other types of data, including datasets arising from Valgrind, a widely used suite of tools for the dynamic binary instrumentation of programs.