Skip to content

core/state: update storage objects concurrently to one another#29696

Closed
karalabe wants to merge 1 commit intoethereum:masterfrom
karalabe:concurrent-state-update
Closed

core/state: update storage objects concurrently to one another#29696
karalabe wants to merge 1 commit intoethereum:masterfrom
karalabe:concurrent-state-update

Conversation

@karalabe
Copy link
Copy Markdown
Member

@karalabe karalabe commented May 2, 2024

This is the update counterpart to #29681. The observation here is that storage objects are independent of one another, so they can be updated independently and hashed.

Further, in this specific PR, the advantage of concurrently updating them is that if the contract trie nodes have not been fully prefetched, that the loads from disk can continue concurrently (yay SSD), instead of restricting it to sequential loads like the current code does.

Benchmarks pending.

@karalabe
Copy link
Copy Markdown
Member Author

karalabe commented May 3, 2024

I've ran a bunch of benchmarks. The performance gains are not really relevant enough to warrant with PR going in standalone. There are some more changes in the prefetcher bundled together, but if there's some meaningful gains, they might be due to the prefetcher more, so I'll just incorporate this in that work instead.

@karalabe karalabe closed this May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant