Ideal Hash Trees (2001) [pdf]
infoscience.epfl.ch
infoscience.epfl.ch
* https://idea.popcount.org/2012-07-25-introduction-to-hamt/
I was mostly surprised not by the CPU, but by the memory efficiency. From my experimentation it turns out that if you want to store X bits of data, HAMT will use ~1.5 * X bits per item.
In other words: thousand 8-byte pointers in HAMT will occupy around 12 thousand bytes of memory.