-
Notifications
You must be signed in to change notification settings - Fork 33
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
perf(accountsdb): begin optimizing snapshot generation #290
Conversation
8c4518c
to
afdedaf
Compare
Spurious CI failure: https://github.com/Syndica/sig/actions/runs/11112601615/job/30875047639?pr=290 (reran the job) |
df294e3
to
8c5b235
Compare
The change in 78c6bc8 yields a 1.75x speed increase in the accountsdb benchmark: |
8c5b235
to
e9c1e60
Compare
e9c1e60
to
78c6bc8
Compare
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.
amazing work - cleaner and faster! 😌 - few small things but other than that lgtm
65270b7
to
0f8d5b8
Compare
* `validateLoadFromSnapshot`: now accepts a parameter struct which only accepts exactly the relevant data needed to validate the specified snapshot(s). * `generateFullSnapshotWithCompressor`: re-organized & simplified. * `generateIncrementalSnapshotWithCompressor`: heavily re-organized, and now returns the associated `BankIncrementalSnapshotPersistence` to represent the incremental snapshot data; this was done because all of the data in `IncSnapshotGenerationInfo` is redundant with the aforementioned struct, except for the incremental slot, which is already known by the caller, since they supply it as a primary function parameter.
Decouples the various behaviours of this function into standalone functions, in order to facilitate restructuring it for optimizations, whilst retaining the essence of this procedure.
Pull out the timer/duration, declare its explicit error set, and clarify doc comments.
aa49bf8
to
c1a2fff
Compare
Co-authored-by: x19 <100000306+0xNineteen@users.noreply.github.com>
Co-authored-by: x19 <100000306+0xNineteen@users.noreply.github.com>
c1a2fff
to
1f25569
Compare
Co-authored-by: x19 <100000306+0xNineteen@users.noreply.github.com>
cdfc0f6
to
cd7613a
Compare
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.
awesome work 😄 --
Closes #282.
There is likely room for more optimizations, but this sets a good foundation for that work, and I think keeping this down in scope and easy-ish at this level of review would be best - more work can be done in a follow up PR.