Perf/lazy state reader tries#3780
Conversation
6fea938 to
3e6edaf
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3780 +/- ##
==========================================
- Coverage 75.39% 75.32% -0.07%
==========================================
Files 438 438
Lines 39463 39528 +65
==========================================
+ Hits 29753 29775 +22
- Misses 7637 7681 +44
+ Partials 2073 2072 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Claude finished @ongyimeng's task in 1m 37s —— View job Review: PR #3780 — Lazy
|
|
Claude finished @rodrodros's task in 1m 39s —— View job Review: PR #3780 — Lazy
|
Summary
StateReadercontract and class tries instead of opening both inNewStateReader.Why
NewStateReaderpreviously opened both the contract trie and class trie for every state reader.RPC methods such as
getStorageAt,getClassHashAt,getNonce, andgetClassread directly from contract, class, or storage accessors. They do not useClassTrie()orContractTrie().As a result, every state-read request paid for two unused trie root-node reads/resolves.
Benchmarks
I ran local benchmarks that exercise the public RPC handler paths with Pebble DB.