The initial benchmarks compared two MDBX datadirs (not RocksDB vs MDBX):
- The "RocksDB" datadir was synced before storage settings were enabled
- Both used MDBX for all data
After enabling RocksDB storage settings on the hoodi-bench-rocks datadir:
- New writes go to RocksDB (verified: folder grew from 1.7MB → 38MB)
- But historical data remains in MDBX (67GB)
- This creates a hybrid state that's not representative
# Check storage settings
./target/release/reth db --datadir ~/.local/share/reth/hoodi-bench-rocks settings --chain hoodi get
# Shows:
# storages_history_in_rocksdb: true
# transaction_hash_numbers_in_rocksdb: true
# account_history_in_rocksdb: trueFor a proper RocksDB vs MDBX comparison:
-
Option A: Fresh Sync
- Build with
--features edge - Start new datadir from scratch
- Sync full chain with RocksDB enabled from genesis
- Build with
-
Option B: Data Migration
- Migrate existing MDBX tables to RocksDB
- (If migration tooling exists)
The earlier re-execute benchmark may be more representative:
- RocksDB: 4.11 Ggas/s
- MDBX: 3.35 Ggas/s
- This tests CPU-bound execution, less affected by storage backend mix
- Sync fresh datadir with edge feature enabled
- Or implement/find data migration tool
- Re-run reth-bench with proper RocksDB-only datadir