-
Notifications
You must be signed in to change notification settings - Fork 375
Prefetch access lists in parallel #1804
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
base: main
Are you sure you want to change the base?
Conversation
4ae13b7 to
5758ce2
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.
Pull Request Overview
This PR adds parallel prefetching of transaction access lists to improve block execution performance. The changes introduce metrics tracking and asynchronous prefetching of both account addresses and storage keys from access lists before transaction execution.
Key changes:
- Adds parallel prefetching of access list entries (addresses and storage keys) using a priority pool
- Introduces metrics tracking for access list prefetching (count of addresses, keys, and time taken)
- Updates logging to include new access list metrics
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| category/execution/ethereum/execute_block.cpp | Implements parallel prefetching logic for access list addresses and storage keys |
| category/execution/ethereum/metrics/block_metrics.hpp | Adds fields and methods to track access list metrics (time, address count, key count) |
| cmd/monad/runloop_monad.cpp | Updates block execution logging to include access list metrics |
| cmd/monad/runloop_ethereum.cpp | Updates block execution logging to include access list metrics |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
596de3d to
f1e66a3
Compare
|
All updates are simple rebases on main unless otherwise noted. |
f1e66a3 to
fe6f675
Compare
fe6f675 to
0bf6db5
Compare
Prefetch block's access lists in parallel.