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

Improve the performance of computing the destination for each shred #1131

Merged
merged 2 commits into from
Jan 31, 2024

Conversation

ptaffet-jump
Copy link
Contributor

Performance investigations showed that computing the destination for each shred was extremely expensive compared to computing the shred data itself. With a lot of effort (and including the recent Chacha20 improvements), performance increased from 28.3 us/shred to 8.3 us/shred on my workstation.

Shred footprint changed, and that is causing some tests to fail. I should also rewrite the explanation to update it to radix 9, and switch the right_sums to left_sums which are much more intuitive, since the performance win from right sums didn't materialize.

@ptaffet-jump ptaffet-jump force-pushed the ptaffet/shred-perf-improvements branch 2 times, most recently from a69f46e to c377173 Compare January 12, 2024 23:47
@ptaffet-jump ptaffet-jump marked this pull request as ready for review January 12, 2024 23:48
Switch from using treap to using a light-weight radix-9 tree inspired by
a B-tree.  Almost entirely branch-free because branch mispredictions
were killer.
@ptaffet-jump ptaffet-jump force-pushed the ptaffet/shred-perf-improvements branch from c377173 to 357b4d7 Compare January 16, 2024 21:38
@ptaffet-jump ptaffet-jump added this pull request to the merge queue Jan 31, 2024
Merged via the queue into main with commit 0bb91a0 Jan 31, 2024
7 checks passed
@ptaffet-jump ptaffet-jump deleted the ptaffet/shred-perf-improvements branch January 31, 2024 16:40
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

Successfully merging this pull request may close these issues.

2 participants