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 github-actions bot added L1 Ethereum client performance Block execution throughput and performance in general labels Nov 11, 2025
@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 Block execution throughput and performance in general

Projects

Status: Done
Archived in project

Development

Successfully merging this pull request may close these issues.

4 participants