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

Merge request reports

Loading