Skip to content

chore: fast txs request bench#19673

Closed
mralj wants to merge 12 commits intomralj/feat/fast-tx-requestfrom
mralj/feat/fast-tx-request-bench-v2
Closed

chore: fast txs request bench#19673
mralj wants to merge 12 commits intomralj/feat/fast-tx-requestfrom
mralj/feat/fast-tx-request-bench-v2

Conversation

@mralj
Copy link
Copy Markdown
Contributor

@mralj mralj commented Jan 16, 2026

NOTE:
batch-requester is the new one

    ProposalTxCollector Benchmark Results
    ================================================================================

    | Collector           | Distribution | Missing | Duration (ms) | Fetched | Success |
    |---------------------|--------------|---------|---------------|---------|---------|
    | batch-requester     | pinned-only  |      10 |            99 |      10 |   Yes   |
    | send-batch-request  | pinned-only  |      10 |           112 |      10 |   Yes   |
    | batch-requester     | pinned-only  |      50 |           190 |      50 |   Yes   |
    | send-batch-request  | pinned-only  |      50 |           589 |      50 |   Yes   |
    | batch-requester     | pinned-only  |     100 |           366 |     100 |   Yes   |
    | send-batch-request  | pinned-only  |     100 |          1163 |     100 |   Yes   |
    | batch-requester     | pinned-only  |     500 |          2186 |     500 |   Yes   |
    | send-batch-request  | pinned-only  |     500 |          6048 |     500 |   Yes   |
    | batch-requester     | sparse       |      10 |           111 |      10 |   Yes   |
    | send-batch-request  | sparse       |      10 |            49 |       3 |   No    |
    | batch-requester     | sparse       |      50 |           204 |      50 |   Yes   |
    | send-batch-request  | sparse       |      50 |           229 |      12 |   No    |
    | batch-requester     | sparse       |     100 |           330 |     100 |   Yes   |
    | send-batch-request  | sparse       |     100 |           358 |      20 |   No    |
    | batch-requester     | sparse       |     500 |          1240 |     500 |   Yes   |
    | send-batch-request  | sparse       |     500 |          1569 |      89 |   No    |
    | batch-requester     | uniform      |      10 |           156 |      10 |   Yes   |
    | send-batch-request  | uniform      |      10 |           104 |      10 |   Yes   |
    | batch-requester     | uniform      |      50 |           303 |      50 |   Yes   |
    | send-batch-request  | uniform      |      50 |           520 |      50 |   Yes   |
    | batch-requester     | uniform      |     100 |           498 |     100 |   Yes   |
    | send-batch-request  | uniform      |     100 |           989 |     100 |   Yes   |
    | batch-requester     | uniform      |     500 |          1351 |     500 |   Yes   |
    | send-batch-request  | uniform      |     500 |          5290 |     500 |   Yes   |

    ## Comparison Summary

    - pinned-only (missing=10): BatchTxRequester is 11.7% faster than SendBatchRequest
    - pinned-only (missing=50): BatchTxRequester is 67.7% faster than SendBatchRequest
    - pinned-only (missing=100): BatchTxRequester is 68.5% faster than SendBatchRequest
    - pinned-only (missing=500): BatchTxRequester is 63.9% faster than SendBatchRequest
    - sparse (missing=10): cannot compare reliably (success: batch=true, send=false)
    - sparse (missing=50): cannot compare reliably (success: batch=true, send=false)
    - sparse (missing=100): cannot compare reliably (success: batch=true, send=false)
    - sparse (missing=500): cannot compare reliably (success: batch=true, send=false)
    - uniform (missing=10): SendBatchRequest is 33.4% faster than BatchTxRequester
    - uniform (missing=50): BatchTxRequester is 41.7% faster than SendBatchRequest
    - uniform (missing=100): BatchTxRequester is 49.6% faster than SendBatchRequest
    - uniform (missing=500): BatchTxRequester is 74.5% faster than SendBatchRequest

    ================================================================================

While implementing benchmarks, I discovered a couple of bugs in the old reqreps batch requeter, which this PR also fixes. Without the fixes, the old code is basically useless.

REF: A-116

@mralj mralj marked this pull request as ready for review January 16, 2026 17:43
@mralj mralj self-assigned this Jan 16, 2026
@mralj mralj requested a review from PhilWindle January 16, 2026 17:43
@AztecBot
Copy link
Copy Markdown
Collaborator

Flakey Tests

🤖 says: This CI run detected 2 tests that failed, but were tolerated due to a .test_patterns.yml entry.

\033FLAKED\033 (8;;http://ci.aztec-labs.com/6648bdfaefb90261�6648bdfaefb902618;;�): yarn-project/scripts/run_test.sh p2p/src/client/test/tx_proposal_collector/p2p_client.proposal_tx_collector_bench.test.ts (93s) (code: 1) group:e2e-p2p-epoch-flakes (\033mralj\033: lint fixes)
\033FLAKED\033 (8;;http://ci.aztec-labs.com/640e8bba4ca60536�640e8bba4ca605368;;�): yarn-project/end-to-end/scripts/run_test.sh compose src/composed/docs_examples.test.ts (166s) (code: 1) (\033mralj\033: lint fixes)

@mralj mralj force-pushed the mralj/feat/fast-tx-request branch 4 times, most recently from 9ad4860 to 33e4abf Compare January 22, 2026 10:36
mralj and others added 12 commits January 22, 2026 11:44
Adds fast tx request per this spec: #15149

Co-authored-by: danielntmd <danielntmd@nethermind.io>
fixed tests

reqresp batch requester refactor

proper benchmark output

bugifx

bench tx collection workers

bugfixes

bugfixes

bugfixes

refactor & bugfixes

bugfixes

refactor
@mralj mralj force-pushed the mralj/feat/fast-tx-request-bench-v2 branch from 1b09f98 to e3d358a Compare January 22, 2026 11:33
@mralj
Copy link
Copy Markdown
Contributor Author

mralj commented Jan 22, 2026

I have messed up rebase, closing in favour of: #19849

@mralj mralj closed this Jan 22, 2026
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