Skip to content

Conversation

@MegaRedHand
Copy link
Collaborator

@MegaRedHand MegaRedHand commented Nov 14, 2025

Motivation

Moving to BlobDB improved performance, but we suspect this also disabled caching for values.

Description

This PR configures an explicit blob cache of 128MB.

Flamegraph before:

Screenshot 2025-11-14 at 20 54 42

Flamegraph after:

Screenshot 2025-11-14 at 20 54 09

Notice TableCache::Get in the far left getting bigger than before. We also get a lot less decompression.

@github-actions
Copy link

github-actions bot commented Nov 14, 2025

Lines of code report

Total lines added: 2
Total lines removed: 0
Total lines changed: 2

Detailed view
+-------------------------------------------+-------+------+
| File                                      | Lines | Diff |
+-------------------------------------------+-------+------+
| ethrex/crates/storage/store_db/rocksdb.rs | 1654  | +2   |
+-------------------------------------------+-------+------+

@MegaRedHand MegaRedHand marked this pull request as ready for review November 14, 2025 23:51
@MegaRedHand MegaRedHand requested a review from a team as a code owner November 14, 2025 23:51
Copilot AI review requested due to automatic review settings November 14, 2025 23:51
@ethrex-project-sync ethrex-project-sync bot moved this to In Review in ethrex_l1 Nov 14, 2025
Copilot finished reviewing on behalf of MegaRedHand November 14, 2025 23:53
Copy link
Contributor

Copilot AI left a 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 explicit blob cache configuration to improve performance for the account_codes column family in RocksDB. Moving to BlobDB previously disabled implicit caching, so this change configures a 128MB LRU cache specifically for blob data.

  • Configures explicit 128MB LRU cache for blob files in the account_codes column family
  • Addresses performance regression from BlobDB migration by re-enabling caching

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link

Benchmark Block Execution Results Comparison Against Main

Command Mean [s] Min [s] Max [s] Relative
base 59.486 ± 0.189 59.296 59.968 1.00
head 59.676 ± 0.200 59.384 59.965 1.00 ± 0.00

@jrchatruc
Copy link
Collaborator

Closed in favor of #5307

@jrchatruc jrchatruc closed this Nov 19, 2025
@github-project-automation github-project-automation bot moved this from In Review to Done in ethrex_l1 Nov 19, 2025
@github-project-automation github-project-automation bot moved this from Todo to Done in ethrex_performance Nov 19, 2025
@jrchatruc jrchatruc deleted the blobdb-cache branch November 19, 2025 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

L1 Ethereum client performance

Projects

Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants