PHast -- Perfect Hashing made fast

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Beling, Piotr, Sanders, Peter
Format: Preprint
Veröffentlicht: 2025
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866917031092158464
author Beling, Piotr
Sanders, Peter
author_facet Beling, Piotr
Sanders, Peter
contents Perfect hash functions give unique "names" to arbitrary keys requiring only a few bits per key. This is an essential building block in applications like static hash tables, databases, or bioinformatics. This paper introduces the PHast approach that combines the fastest available queries, very fast construction, and good space consumption (below 2 bits per key). PHast improves bucket-placement which first hashes each key k to a bucket, and then looks for the bucket seed s such that a placement function maps pairs (s,k) in a collision-free way. PHast can use small-range hash functions with linear mapping, fixed-width encoding of seeds, and parallel construction. This is achieved using small overlapping slices of allowed values and bumping to handle unsuccessful seed assignment. A variant we called PHast+ uses additive placement, which enables bit-parallel seed searching, speeding up the construction by an order of magnitude.
format Preprint
id arxiv_https___arxiv_org_abs_2504_17918
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle PHast -- Perfect Hashing made fast
Beling, Piotr
Sanders, Peter
Data Structures and Algorithms
Databases
Performance
Perfect hash functions give unique "names" to arbitrary keys requiring only a few bits per key. This is an essential building block in applications like static hash tables, databases, or bioinformatics. This paper introduces the PHast approach that combines the fastest available queries, very fast construction, and good space consumption (below 2 bits per key). PHast improves bucket-placement which first hashes each key k to a bucket, and then looks for the bucket seed s such that a placement function maps pairs (s,k) in a collision-free way. PHast can use small-range hash functions with linear mapping, fixed-width encoding of seeds, and parallel construction. This is achieved using small overlapping slices of allowed values and bumping to handle unsuccessful seed assignment. A variant we called PHast+ uses additive placement, which enables bit-parallel seed searching, speeding up the construction by an order of magnitude.
title PHast -- Perfect Hashing made fast
topic Data Structures and Algorithms
Databases
Performance
url https://arxiv.org/abs/2504.17918