mph is a Go package for that implements a minimal perfect hash table over strings. It uses the "Hash, displace, and compress" algorithm and the Murmur3 hash function.
Very rough benchmarks from my laptop:
Build
constructs a minimal perfect hash table from a 236k word dictionary in <200ms (construction time is linear in the size of the input).Lookup
s on that dictionary take ~85ns, almost twice as fast as lookups in amap[string]uint32
.