Files
wizapp-stdlib/documents/hash_tables_refs.md
T
Abdelrahman Said 2e943affb7
Release / release (push) Successful in 2s
Add reference for open addressing/separate chaining
2026-08-31 23:43:48 +01:00

2.9 KiB

Hash Tables References

SwissTable

64-bit hash from 128-bit hash

MurmurHash3 and SipHash return 128 bits. SwissTable expects 64 bits. XOR folding is the approach to use:

uint64_t fold_128_to_64(uint128_t hash) {
    return (uint64_t)(hash >> 64) ^ (uint64_t)(hash & 0xFFFFFFFFFFFFFFFF);
}

Robin Hood

Robin Hood vs SwissTable

Hybrid Open-Addressing/Separate-Chaining

Double Hashing