~/talk

Radix Trees: How IntMap Works

Talkat Scale By The Bay 2018 · 2018-11-15..11-17· [scala]
slides:none on file

Haskell's IntMap is a radix tree (Patricia trie) that stores integer keys bitwise with path compression so lookups cost key-length, not map-size; worst case for 64-bit keys can be ~64 pointer hops. IntMap enables fast persistent merges and prefix queries and is used in GHC containers and Scala’s standard library. The Adaptive Radix Tree (ART) replaces 2-way branching with byte-at-a-time nodes and four node representations to shorten trees; C/Java ART benchmarks beat Java HashMap, but a Haskell ART prototype performed poorly while a Java persistent wrapper did well.

AI-written summary · about

  1. 0:00Introduction to radix trees
  2. 4:17Benefits of the data structure
  3. 7:43How tries and trees work
  4. 13:02Implementing an int map
  5. 17:03Scaling and trade-offs
  6. 20:36Adaptive radix trees
  7. 24:50Summary and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.