Skip to content

Improve performance of very large ClassNameTries#90

Merged
mcculls merged 3 commits into
mainfrom
mcculls/bump-longjump-boundary
Jun 8, 2026
Merged

Improve performance of very large ClassNameTries#90
mcculls merged 3 commits into
mainfrom
mcculls/bump-longjump-boundary

Conversation

@mcculls

@mcculls mcculls commented Jun 7, 2026

Copy link
Copy Markdown
Collaborator

What Does This Do

Increase boundary where jumps become long-jumps in ClassNameTrie from 32768 to 61440

Motivation

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 ClassNameTrie benchmark to compare compiled and interpreted times.

Contributor Checklist

Jira ticket: [PROJ-IDENT]

@mcculls
mcculls requested a review from a team as a code owner June 7, 2026 21:13
@mcculls
mcculls requested a review from ygree June 7, 2026 21:13
@mcculls
mcculls force-pushed the mcculls/bump-longjump-boundary branch from ced3155 to 25f18a3 Compare June 7, 2026 21:33

@amarziali amarziali left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice. I discovered there is a demo page!

@mcculls
mcculls merged commit 92c68b7 into main Jun 8, 2026
6 checks passed
@mcculls
mcculls deleted the mcculls/bump-longjump-boundary branch June 8, 2026 07:58
@github-actions github-actions Bot added this to the 0.1.0 milestone Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants