Designing a fast Hash Table

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.