Skip to content

Conversation

@Arkenan
Copy link
Collaborator

@Arkenan Arkenan commented Nov 11, 2025

Merging layer filters is very costly due to the cost of iterating the elements of a filter. Inserting has proven to be cheaper for the size of the filter we're using and the amount of elements we are holding. Some measurements:

  • Early hoodi imports went from 8 blocks per second to about 80 (10x).
  • Synced hoodi rebuild time went from ~166ms to ~27ms, (about a 6x).

The PR also simplifies the rebuild code and avoids using rayon entirely.

@github-actions
Copy link

github-actions bot commented Nov 11, 2025

Lines of code report

Total lines added: 0
Total lines removed: 18
Total lines changed: 18

Detailed view
+-------------------------------------------+-------+------+
| File                                      | Lines | Diff |
+-------------------------------------------+-------+------+
| ethrex/crates/storage/trie_db/layering.rs | 165   | -18  |
+-------------------------------------------+-------+------+

@github-actions
Copy link

github-actions bot commented Nov 11, 2025

Benchmark Block Execution Results Comparison Against Main

Command Mean [s] Min [s] Max [s] Relative
base 59.159 ± 0.194 58.966 59.519 1.00
head 59.347 ± 0.239 58.977 59.733 1.00 ± 0.01

@Arkenan Arkenan marked this pull request as ready for review November 11, 2025 19:39
@Arkenan Arkenan requested a review from a team as a code owner November 11, 2025 19:39
@ethrex-project-sync ethrex-project-sync bot moved this to In Review in ethrex_l1 Nov 11, 2025
@jrchatruc jrchatruc added this pull request to the merge queue Nov 11, 2025
Merged via the queue into main with commit f5b968f Nov 11, 2025
40 checks passed
@jrchatruc jrchatruc deleted the import-qfilter-optimizations branch November 11, 2025 22:37
@github-project-automation github-project-automation bot moved this from In Review to Done in ethrex_l1 Nov 11, 2025
@github-project-automation github-project-automation bot moved this from Todo to Done in ethrex_performance Nov 11, 2025
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