Totally agree with the assessment on the open address/linear probe ones - easy to implement, compact, lower cache pressure.
As for the 2nd consideration - it's not fancy, too easy to implement, no novelty, etc.
The way I have dealt with the downsides of linear probe, open address: not well spread out lower bits - smearing/rehashing the hashes of the keys (via murmur3). As a side benefit it effectively randomizes the iteration order.
As for the 2nd consideration - it's not fancy, too easy to implement, no novelty, etc.
The way I have dealt with the downsides of linear probe, open address: not well spread out lower bits - smearing/rehashing the hashes of the keys (via murmur3). As a side benefit it effectively randomizes the iteration order.