Does anybody have an implementation of Cuckoo hashing in C? If there was an Open Source, non GPL version it would be perfect!
Since Adam mentioned it in his comment, any
I can't speak for software but cuckoo hashing is certainly used in hardware and becoming very popular. Major vendors of networking equipment have been looking into cuckoo hashing and some already use it. The attraction to cuckoo hashing comes from the constant lookup time, of course, but also the near constant insertion time.
Although insertion can theoretically be unbounded, in practice it can be bounded to O(log n) of the number of rows in the table(s) and when measured, the insertion time is about 1.1*d memory accesses on average. That's just 10% more than the absolute minimum! Memory access is often the limiting factor in networking equipment.
Independent hash functions are a must and selecting them properly is difficult. Good luck.