Sciweavers

SPIRE
2005
Springer

Cache-Conscious Collision Resolution in String Hash Tables

13 years 10 months ago
Cache-Conscious Collision Resolution in String Hash Tables
In-memory hash tables provide fast access to large numbers of strings, with less space overhead than sorted structures such as tries and binary trees. If chains are used for collision resolution, hash tables scale well, particularly if the pattern of access to the stored strings is skew. However, typical implementations of string hash tables, with lists of nodes, are not cache-efficient. In this paper we explore two alternatives to the standard representation: the simple expedient of including the string in its node, and the more drastic step of replacing each list of nodes by a contiguous array of characters. Our experiments show that, for large sets of strings, the improvement is dramatic. In all cases, the new structures give substantial savings in space at no cost in time. In the best case, the overhead space required for pointers is reduced by a factor of around 50, to less than two bits per string (with total space required, including 5.68 megabytes of strings, falling from 20.4...
Nikolas Askitis, Justin Zobel
Added 28 Jun 2010
Updated 28 Jun 2010
Type Conference
Year 2005
Where SPIRE
Authors Nikolas Askitis, Justin Zobel
Comments (0)