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.
Description
This PR adds a cache for storage roots of missing leaves during prefetching. This cache can then be used directly when computing the state root.
Rationale
When computing the state root of the account tree, some account nodes may not have had their storage roots calculated during the parallel storage roots stage. Since these account nodes did not change their storage content in the current block, we can cache their storage roots during the prefetch stage. This cache can then be used to speed up the computation of the account tree state root.
This PR can reduce the elapsed time of the account trie tree by 15% and the total state root calculation time by 5%.
Example
NA
Changes
Notable changes:
Potential Impacts