This article describes the many design decisions that go into creating a fast, general-purpose hash table. It culminates with a benchmark between my own emilib::HashSet
and C++11’s std::unordered_set
. If you are interested in hash tables and designing one yourself (no matter which language you are programming in), this article might be for you.
http://www.ilikebigbits.com/blog/2016/8/28/designing-a-fast-hash-table