-
Notifications
You must be signed in to change notification settings - Fork 108
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
1. fix(perf): Run CPU-intensive state updates in parallel rayon threads #4802
Conversation
Codecov Report
@@ Coverage Diff @@
## main #4802 +/- ##
==========================================
- Coverage 78.87% 78.61% -0.26%
==========================================
Files 305 306 +1
Lines 38169 38362 +193
==========================================
+ Hits 30104 30159 +55
- Misses 8065 8203 +138 |
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.
Looks good, I was a bit confused with a refactoring and I added some documentation suggestions to hopefully make it clearer
Sorry, I forgot to push the commits for: |
I fixed some doc issues and added your suggestions, this is ready for another review. |
Motivation
We want to improve Zebra's sync speed to avoid test timeouts in CI (#4155).
This PR moves CPU-intensive verification in state updates to the
rayon
thread pool.Close #4790
Partially addresses #4583
Depends-On: #4199
Depends-On: #4795
Specifications
https://docs.rs/rayon/latest/rayon/fn.in_place_scope_fifo.html
Solution
rayon
threadsChain
updates in parallelOther performance improvements:
HistoryTree
in anArc
in the stateRelated changes:
Test fixes:
Review
Anyone can review this PR, it's urgent because CI is failing, and it blocks a release.
Reviewer Checklist
Follow Up Work