-
Notifications
You must be signed in to change notification settings - Fork 381
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
Pre-warm intra block cache during block execution #7055
Pre-warm intra block cache during block execution #7055
Conversation
…rm-intra-block-cache
…k-cache' into optimization/pre-warm-intra-block-cache # Conflicts: # src/Nethermind/Nethermind.State/PersistentStorageProvider.cs # src/Nethermind/Nethermind.State/StateProvider.cs
…k-cache' into optimization/pre-warm-intra-block-cache # Conflicts: # src/Nethermind/Nethermind.Consensus/Processing/IBlockCachePreWarmer.cs
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.
It looks good. One thing, can we have a config that disables the prewarmer in case it results in worse perf in some machines?
Bunch of hive tests fail (all Paris)
|
Add ClearingCaches on exception
…k-cache' into optimization/pre-warm-intra-block-cache
|
Consensus hive failures are recent EIP7610 tests ethereum/EIPs#8161 |
Co-authored-by: Ben Adams <thundercat@illyriad.co.uk>
Co-authored-by: lukasz.rozmej <lukasz.rozmej@gmail.com>
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.
Not sure about passing in PreBlockCaches
in CreateResettableWorldState
. But it should work fine.
I took big concern passing it there, but it is easy way I found to support default behavior without those caches and then support behavior with caches when needed. |
Changes
Types of changes
What types of changes does your code introduce?
Testing
Requires testing
If yes, did you write tests?
Notes on testing
Test eth_call and tracing.
Test on blocks that have self-destruct (archive sync?)
Documentation
Requires documentation update
Requires explanation in Release Notes