ComputingComputer EngineeringComputer ScienceAlgorithmsData StructuresStorage SystemsCachingCaching StrategiesHash FunctionsHash TablesLookup TablesMemory Hierarchy OptimizationCuckoo HashingHash Table ImplementationsHash Table Memory EfficiencyHash Table Performance AnalysisHashingLinear ProbingProcessor ArchitectureProcessor Systems
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 cache-conscious 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.
37
Rasmus Pagh, Flemming Friche Rodler · Journal of Algorithms · 2004 · 1.1K citations
Cache-conscious data placement
Brad Calder, Chandra Krintz, Simmi John et al. · 1998 · 268 citations · Full text
Addressing for Random-Access Storage
W. W. Peterson · IBM Journal of Research and Development · 1957 · 257 citations
Cache Conscious Indexing for Decision-Support in Main Memory
Jun Rao, Kenneth A. Ross · 1998 · 249 citations · Full text