Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Template for Key and Value and optimize code paths and leaf layout #673

Open
thompsonbry opened this issue Feb 2, 2025 · 0 comments
Open

Comments

@thompsonbry
Copy link

We have already templated the library for the Key in a branch. The other thing that we need to do to cleanly address the leaf data layout is template the tree for the Value as well as the key. When doing that, we should create a union of the leaf type which is optimized for at least the case where both Key and Value are fixed length.

I do think it is worth optimizing the leaf for the case where just the key or just the value are fixed length. The latter supports the common case of variable length composite keys to record identifiers for secondary indices. The former case (int => bytes) is the case originally supported by the library. I am not sure how much maximum efficiency matters there, but ensuring that we do not regress this matters.

There are various code paths which should get optimized when templating the Value type. Most of the ground work for doing that is being addressed (on the key side) for #661.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant