Open
Description
CHAMP (Compressed Hash-Array Mapped Prefix-tree) is an incremental improvement over HAMT that simplifies the code, decreases the memory footprint, and increases performance.
Leveling up Clojure’s Hash Maps is an easily accessible introduction to it by the guy who replaced Clojure(Script)'s HAMT implementation with it.
The original paper: Optimizing Hash-Array Mapped Tries for Fast and Lean Immutable JVM Collections
The reference implementation in Java: The Capsule Hash Trie Collections Library
The Clojure implementation in Java and ClojureScript implementations look more easily grokkable to me.