- Judy rarely compromises speed/space performance for simplicity (Judy will never be called simple except at the API).
- Judy is designed to avoid cache-line fills wherever possible. (This is the main design criteria for Judy.)
- A b-tree requires a search of each node (branch), resulting in more cache-line fills.
- A binary-tree has many more levels (about 8X), resulting in more cache-line fills.
- A skip-list is roughly equivalent to a degree-4 (4-ary) tree, resulting in more cache-line fills.
- An "expanse"-based digital tree (of which Judy is a variation) never needs balancing as it grows.
- A portion (8 bits) of the key is used to subdivide an expanse into sub-trees. Only the remainder of the key need exist in the sub-trees, if at all, resulting in key compression.
Learn more here.
No comments:
Post a Comment