One situation where I painfully learned that it doesn't, is when you iterate over one hashtable to fill another. To defend against that one needs to add some per-hashtable randomized state into the hash IV.
Through bad experience I also learned that you need to not just grow due to fillfactor, but also due to disproportional chain length, even with the above defense in place.
Re:Optimizing Open Addressing
by 10000truths on Sunday April 02, 2023 @04:53PM
(#35415080)
> To defend against that one needs to add some per-hashtable randomized state into the hash IV.
You should almost always be doing this anyways, since most hash tables use user-provided data as keys, which opens up a well known avenue for denial-of-service attacks:
Robin Hood performs well into the high 90's.