-
Notifications
You must be signed in to change notification settings - Fork 157
Fix hasher performance degredation caused by rust upgrade #426
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
|
I'm trying to reproduce Rory's results in this issue, I think it would be good for us to figure that out before merging this PR. Discussion still happening over there |
steviez
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm trying to reproduce Rory's results in this issue, I think it would be good for us to figure that out before merging this PR. Discussion still happening over there
Ok, Rory and I figured out the discrepancy between our results (details back in the Agave issue) so I feel comfortable shipping this one now
joncinque
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great, thanks for digging in and finding a fix!
|
We're in the process of publishing breaking changes on the sdk, so I'll backport to v3 so Agave can get the fix quicker |
(cherry picked from commit f544553)
… by rust upgrade (#427) Fix hasher performance degredation caused by rust upgrade (#426) (cherry picked from commit f544553) Co-authored-by: Rory Harris <[email protected]>
Problem Statement:
When upgrading Rust from 1.86 to 1.87, it was found the performance of the PoH hashing degraded. Since then, all rust upgrades have been blocked.
Solution
After analysis it was found that inlining differences during the LLVM compilation were causing the performance difference. By force inlining the performance improved in current nightly to better than 1.87
Results were verified with proof of hash bench:
1.86 without force inline
1.86 with force inline
nightly without force inline
nightly with force inline
And on chain:
Below shows performance with nightly

Before the restart, nightly without the fix is running.
After the restart, nightly with the fix is running.
It is also better than 1.86 (which is not shown on the graph)
anza-xyz/agave#8869