Improve the "neighbors" leaf encoding
This commit allows the interior of the tree to store the upper 16 bits of the leaves of its children, allowing this data to be reused by multiple children when these IDs form clusters, which they often do.
I would like to run these tests in rustc-perf before merging them, after you've reviewed the code and seen if you can find anything.
Before
114336 examples/search.index
30400 build/aarch64-apple-darwin/doc/search.index
105072 build/aarch64-apple-darwin/compiler-doc/search.index
After
113152 examples/search.index (-1.03%)
29680 build/aarch64-apple-darwin/doc/search.index (-2.36%)
105136 build/aarch64-apple-darwin/compiler-doc/search.index (+0.06%)
Edited by Michael Howell