hashtables v1.2.0.0 Release Notes
-
Switch to smaller hash codes to go faster and save space.
Before, in the basic and cuckoo hash tables, we were storing full machine-word-sized hash codes in the table so that we could quickly search a whole cache line for a key (or a combination of keys) without branching.
It turns out that a full machine word is not really necessary for this application; switching to a 16-bit key will very slightly increase the number of hash collisions within buckets (meaning that we'll compare more keys), but will pay big dividends in terms of:
reduced wastage of RAM
searching more keys at once, allowing buckets to grow bigger
more cache hits on the hash codes array.
Other
Dependency bumps
Fix definitions of forwardSearch2 and forwardSearch3 in PORTABLE mode (also used on Windows) to match C implementations.