Improve performance of very large ClassNameTries#90
Merged
Conversation
Also ensure that the number of long-jumps never overflows 4096.
mcculls
force-pushed
the
mcculls/bump-longjump-boundary
branch
from
June 7, 2026 21:33
ced3155 to
25f18a3
Compare
amarziali
approved these changes
Jun 8, 2026
amarziali
left a comment
There was a problem hiding this comment.
nice. I discovered there is a demo page!
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.
What Does This Do
Increase boundary where jumps become long-jumps in
ClassNameTriefrom 32768 to 61440Motivation
Jumps are relative to the current node, so most jumps are small. The largest jumps are from one top-level node to the next and there will only be a few of those. It therefore makes sense to favour a higher boundary over storing a large number of long-jumps.
The largest jump in the current "known-types" trie is ~25000. Bumping the boundary gives us plenty of room in this trie before we need to use long jumps. This still allows for 4096 individual long-jumps.
Additional Notes
Improved the
ClassNameTriebenchmark to compare compiled and interpreted times.Contributor Checklist
Jira ticket: [PROJ-IDENT]