Skip to content

Conversation

@joey0612
Copy link
Collaborator

@joey0612 joey0612 commented Aug 4, 2025

Description

This PR implements triedb and pathdb under the Geth storage model, with the goal of addressing the performance bottleneck in root state calculation for Reth.

Rationale

This PR will be implemented in several steps:

  • Implement pathdb (interface will change after trie implementation), similar to Geth’s pbss, but without a diff layer, since Reth already has equivalent functionality at a higher layer.
  • Develop in-memory Trie, similar to Geth’s trie, including branch nodes and extension nodes, which differ from Reth’s state model.
  • Encapsulate TrieDB with Trie + pathdb into a unified interface for use by higher layers.
  • Replace the current differential calls with TrieDB-based unified statistics interfaces in Backfill and EngineTree.
  • To optimize for prewarming performance, adapt and ensure compatibility for sparse and sparse-parallel approaches.

Example

N/A

Changes

Notable changes:

  • Add triedb crate.

fynnss and others added 3 commits July 30, 2025 13:56
Bsc performance metrics (#4)
add live sync overall performance metrics (#5)
* add live sync performance metrics implementation
* add block insert total time and remove fcu metrics
feat: add metrics for account trie hash
feat: rich node iter metrics
fix prewarm proofs (#2)
* fix prewarm proofs
* Revert "feat: rich node iter metrics"
…ke test

chore: fix complier waring

polish: trie hash interface

test: add storage trie smoke test

feat: storage value rlp decode

test: rich storage update and get test
test: add rlp decode ut
@fynnss fynnss force-pushed the bsc_performance_test branch 4 times, most recently from a5052ac to 4f5d101 Compare August 19, 2025 03:10
@fynnss fynnss force-pushed the bsc_performance_test branch 3 times, most recently from 9267978 to 6a02631 Compare August 26, 2025 01:33
joey0612 pushed a commit to joey0612/reth that referenced this pull request Sep 21, 2025
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.

2 participants