[ntuple] Optimize memory layout of cluster descriptor#21258
Merged
jblomer merged 6 commits intoroot-project:masterfrom Feb 17, 2026
Merged
[ntuple] Optimize memory layout of cluster descriptor#21258jblomer merged 6 commits intoroot-project:masterfrom
jblomer merged 6 commits intoroot-project:masterfrom
Conversation
f21fb16 to
bb5e514
Compare
Test Results 22 files 22 suites 3d 11h 16m 2s ⏱️ For more details on these failures, see this check. Results for commit 5bf81dd. ♻️ This comment has been updated with latest results. |
Store the information of the on-disk locator in two 64bit integers. The locator type and possibly 1 reserved bit (DAOS cage bit) are squeezed into the most significant 4 bits of the locator size information. That leaves 60 bits for the actual size, i.e. 1EB. The variant around the position information is replaced by a pure integer. Type-safety is ensured in custom code instead using the locator type information. Overall, that halfes the size of the RNTupleLocator struct from 64B to 32B.
By reordering of members, reduce the size of the struct from 32B to 24B.
To save space in the cluster descriptor, create the lookup data structure for large number pages in a cluster+column only if that cluster+column actually has many (>10) pages. Reduces the typical size of RPageRange from 56B to 40B.
bb5e514 to
5bf81dd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
More space-efficient memory layout of locator and page range. As a result, a typical cluster descriptor consumes about 1/3 less space in memory.