This repository was archived by the owner on Jan 22, 2025. It is now read-only.
Remove fn slot_deltas() from StatusCache#26931
Merged
brooksprumo merged 2 commits intosolana-labs:masterfrom Aug 16, 2022
Merged
Remove fn slot_deltas() from StatusCache#26931brooksprumo merged 2 commits intosolana-labs:masterfrom
fn slot_deltas() from StatusCache#26931brooksprumo merged 2 commits intosolana-labs:masterfrom
Conversation
e4831a4 to
f24a5ee
Compare
ryoqun
reviewed
Aug 8, 2022
ryoqun
reviewed
Aug 8, 2022
ryoqun
reviewed
Aug 8, 2022
Contributor
|
I think the general direction is so good. Discussed elsewhere, i think this pr can further be smaller? could you rework? (sorry for wasted efforts...) |
slot_deltas() and root_slot_deltas()fn slot_deltas() from StatusCache
Contributor
Author
|
@ryoqun This PR is ready for another review. Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The
slot_deltas()androot_slot_deltas()functions have different behavior w.r.t. not-found slots. They probably shouldn't.Please see #26170 (comment) for more context.
Summary of Changes
Remove
fn slot_deltas()OLD SUMMARY BELOW
Summary of Changes
Add a new private function that wraps the impl of both
slot_deltas()androot_slot_deltas(). Now both have the same behavior (to create a unique entry per missing slot, instead of sharing a single 'empty').Some benchmarks:
before:
after:
The only change is that 'empty'/missing slots are now more expensive, since a new
Statusis created for each one. In practice I cannot imagine that roots have zero transactions, therefore this pathological case should never occur.