Fast Scalable Construction of (Minimal Perfect Hash) Functions

Recent advances in random linear systems on finite fields have paved the way for the construction of constant-time data structures representing static functions and minimal perfect hash functions using less space with respect to existing techniques. The main obstruction for any practical application...

Full description

Saved in:
Bibliographic Details
Published inExperimental Algorithms Vol. 9685; pp. 339 - 352
Main Authors Genuzio, Marco, Ottaviano, Giuseppe, Vigna, Sebastiano
Format Book Chapter
LanguageEnglish
Published Switzerland Springer International Publishing AG 01.01.2016
Springer International Publishing
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text
ISBN3319388509
9783319388502
ISSN0302-9743
1611-3349
DOI10.1007/978-3-319-38851-9_23

Cover

More Information
Summary:Recent advances in random linear systems on finite fields have paved the way for the construction of constant-time data structures representing static functions and minimal perfect hash functions using less space with respect to existing techniques. The main obstruction for any practical application of these results is the cubic-time Gaussian elimination required to solve these linear systems: despite they can be made very small, the computation is still too slow to be feasible. In this paper we describe in detail a number of heuristics and programming techniques to speed up the resolution of these systems by several orders of magnitude, making the overall construction competitive with the standard and widely used MWHC technique, which is based on hypergraph peeling. In particular, we introduce broadword programming techniques for fast equation manipulation and a lazy Gaussian elimination algorithm. We also describe a number of technical improvements to the data structure which further reduce space usage and improve lookup speed. Our implementation of these techniques yields a minimal perfect hash function data structure occupying 2.24 bits per element, compared to 2.68 for MWHC-based ones, and a static function data structure which reduces the multiplicative overhead from 1.23 to 1.03.
ISBN:3319388509
9783319388502
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-319-38851-9_23