Really interesting analysis, but constraining their keys to 64-bit integers and using 'hash functions' that only accept 64-bit integers as input skews the results away from real-world use cases.
In practice I've found that a variant of Robin Hood hashing with cache-line-sized bins and a hard limit on how deep to search for movable keys when inserting new keys (max of 3 possible bin locations per key, max search depth of 3 moves per insert) gives very good performance even with high load factors.
This is only to counter worst-case attack scenarios which do not happen in a realistic scenario. Like >100 collisions.
Robin Hood or its better cousin Hopscotch hashing, which was forgotten here, counter that scenario much better, with only ~1-3% performance loss on average in the best case, and much better perf. numbers in the average write-heavy case, where their "move to front" strategy pays off. And they have the worst case scenario also covered, unlike all others.
In practice I've found that a variant of Robin Hood hashing with cache-line-sized bins and a hard limit on how deep to search for movable keys when inserting new keys (max of 3 possible bin locations per key, max search depth of 3 moves per insert) gives very good performance even with high load factors.
-Austin, author of MurmurHash