-
Notifications
You must be signed in to change notification settings - Fork 1k
PROTOTYPE: manually unroll vlq decoder loop #8757
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
Conversation
|
If you want to go truly crazy there's https://arxiv.org/html/2403.06898v1 🤣 Pretty clever. |
|
FWIW I tried using as the unit of work and that worked a bit better on my laptop. No need to mask |
|
Once I get some benchmark numbers I will rework to use your pattern @etseidl -- maybe even try with some const functions to avoid the repetition |
|
🤖 |
|
🤖: Benchmark completed Details
|
|
🤖 |
|
🤖: Benchmark completed Details
|
|
benchmarks imply this is 15% slower for opening page index |

Which issue does this PR close?
Rationale for this change
Per #8742 (review) let's get crazy and see if manually unrolling the vlq decoder (hot loop) will help performance
What changes are included in this PR?
Manually unroll the loop
Are these changes tested?
CI passes . I am running benchmarks
Are there any user-facing changes?
If there are user-facing changes then we may require documentation to be updated before approving the PR.
If there are any breaking changes to public APIs, please call them out.