New trie data structures which support very fast search operations
Journal of Computer and System Sciences
Self-adjusting binary search trees
Journal of the ACM (JACM)
The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
Use of tree structures for processing files
Communications of the ACM
Burst tries: a fast, efficient data structure for string keys
ACM Transactions on Information Systems (TOIS)
The C++ Programming Language, Third Edition
The C++ Programming Language, Third Edition
Introduction to Algorithms
Heights in Generalized Tries and PATRICIA Tries
LATIN '00 Proceedings of the 4th Latin American Symposium on Theoretical Informatics
Experiences and Lessons Learned with a Portable Interface to Hardware Performance Counters
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
Cache-conscious sorting of large sets of strings with dynamic tries
Journal of Experimental Algorithmics (JEA)
Using random sampling to build approximate tries for efficient string sorting
Journal of Experimental Algorithmics (JEA)
Cache-efficient string sorting using copying
Journal of Experimental Algorithmics (JEA)
Valgrind: a framework for heavyweight dynamic binary instrumentation
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Comparing integer data structures for 32- and 64-bit keys
Journal of Experimental Algorithmics (JEA)
Engineering burstsort: Toward fast in-place string sorting
Journal of Experimental Algorithmics (JEA)
Fast and compact hash tables for integer keys
ACSC '09 Proceedings of the Thirty-Second Australasian Conference on Computer Science - Volume 91
Hi-index | 0.00 |
In this paper 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 both time and space than all the alternative data structures. 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 provide a motivating example for our study in Valgrind, a widely used suite of tools for the dynamic binary instrumentation of programs, and present experimental results over data sets derived from Valgrind.