Skip to content

Vary the number of parties in the fanout benchmark - #2796

Open
vrom911 wants to merge 1 commit into
masterfrom
vrom911/fanout-bench-parties
Open

Vary the number of parties in the fanout benchmark#2796
vrom911 wants to merge 1 commit into
masterfrom
vrom911/fanout-bench-parties

Conversation

@vrom911

@vrom911 vrom911 commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

The fanout tx-cost table was pinned to 10 parties, so you could not see how the number of parties changes fanout cost. Now it sweeps a few party counts and shows the largest UTxO set that still fits for each, since burning more participation tokens leaves less room for outputs.
Part of #2439


  • CHANGELOG updated or not needed
  • Documentation updated or not needed
  • Haddocks updated or not needed
  • No new TODOs introduced or explained herafter

The fanout tx-cost table was pinned to 10 parties, so you could not see how the number of parties changes fanout cost. Now it sweeps a few party counts and shows the largest UTxO set that still fits for each, since burning more participation tokens leaves less room for outputs.
@vrom911 vrom911 self-assigned this Jul 29, 2026
@github-actions

Copy link
Copy Markdown

Transaction cost differences

Script summary

Name Size (Bytes)
νHead -
μHead -
νDeposit -
νCRS -

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
50 - - - -
100 - - - -
114 - - - -

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
50 - - - -
75 - - - -

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
50 - - - -
75 - - - -

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
50 - - - -
75 - - - -

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
50 - - - -
66 - - - -

FanOut transaction costs

UTxO, Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
(0, 10) - - - - -
(1, 10) - - - - -
(5, 10) - - - - -
(10, 10) - - - - -
(20, 10) - - - - -
(20, 10) $${\color{green}-1.00}$$ - - - -
(20, 10) +1.0 +1.0 - - -
(20, 10) - +1.0 - - -

PartialFanOut transaction costs

Distributed UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
11 - - - - -
25 - - - - -
30 - - - - -
40 - - - - -
50 - - - - -
100 - - - - -
150 - - - - -
200 - - - - -
200 - - - - -

PartialFanOut transaction costs (with native tokens)

Distributed UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
11 - - - - -
25 - - - - -
30 - - - - -
40 - - - - -
50 - - - - -
100 - - - - -
150 - - - - -
200 - - - - -
200 - - - - -

FinalPartialFanOut transaction costs (with native tokens)

Distributed UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 - - - - -
5 - - - - -
10 - - - - -
10 - - - - -

@github-actions

Copy link
Copy Markdown

End-to-end benchmark differences

Comparing this PR (new) against master (old). Numbers come from cloud VMs, so changes under 5% are shown as and are likely run-to-run noise rather than a real regression or improvement. 🟢 = improvement, 🔴 = regression; uncolored rows are neutral measures reported for context.

Sustained load (3 nodes, 3x5000 txs)

Metric master PR Δ
End-to-end TPS (tx/s) 555.39 586.48 🟢 +31.09 (+5.6%)
Sustained TPS (tx/s) 1,176.02 1,220.09 ≈ +44.07 (+3.7%)
Backlog drain time (s) 24.20 25.10 ≈ +0.90 (+3.7%)
Snapshots per second (/s) 0.59 0.66 +0.07 (+11.9%)
Avg txs per snapshot 937.50 882.40 -55.10 (-5.9%)
Avg. Confirmation Time (s) 22.453 21.211 🟢 -1.242 (-5.5%)
P50 confirmation (s) 23.522 22.138 🟢 -1.384 (-5.9%)
P95 confirmation (s) 26.697 25.169 🟢 -1.528 (-5.7%)
P99 confirmation (s) 26.798 25.315 🟢 -1.483 (-5.5%)
Tx validation time p50 (s) 11.018 10.152 🟢 -0.867 (-7.9%)
Peak node RSS (MB) 423.50 436.90 ≈ +13.40 (+3.2%)
Invalid txs 0.00 0.00 ≈ +0.00 (n/a%)

Plateau 1000 UTxO (1 node, 4000 txs)

Metric master PR Δ
End-to-end TPS (tx/s) 255.77 272.72 🟢 +16.95 (+6.6%)
Backlog drain time (s) 15.50 14.60 🟢 -0.90 (-5.8%)
Snapshots per second (/s) 0.51 0.61 +0.10 (+19.6%)
Avg txs per snapshot 500.00 444.40 -55.60 (-11.1%)
Avg. Confirmation Time (s) 10.160 9.229 🟢 -0.931 (-9.2%)
P50 confirmation (s) 10.925 10.619 ≈ -0.306 (-2.8%)
P95 confirmation (s) 15.543 14.603 🟢 -0.940 (-6.0%)
P99 confirmation (s) 15.584 14.604 🟢 -0.980 (-6.3%)
Tx validation time p50 (s) 6.195 5.457 🟢 -0.738 (-11.9%)
Peak node RSS (MB) 373.80 348.90 -24.90 (-6.7%)
Invalid txs 0.00 0.00 ≈ +0.00 (n/a%)

Round-trip latency (3 nodes, closed-loop, 3x250 txs)

Metric master PR Δ
End-to-end TPS (tx/s) 45.15 53.05 🟢 +7.90 (+17.5%)
Sustained TPS (tx/s) 42.63 52.60 🟢 +9.97 (+23.4%)
Backlog drain time (s) 0.00 0.00 ≈ +0.00 (n/a%)
Snapshots per second (/s) 30.82 35.93 +5.11 (+16.6%)
Avg txs per snapshot 1.50 1.50 ≈ +0.00 (+0.0%)
Avg. Confirmation Time (s) 0.066 0.056 🟢 -0.010 (-14.8%)
P50 confirmation (s) 0.036 0.026 🟢 -0.010 (-28.6%)
P95 confirmation (s) 0.230 0.208 🟢 -0.022 (-9.6%)
P99 confirmation (s) 0.450 0.395 🟢 -0.054 (-12.1%)
Tx validation time p50 (s) 0.007 0.006 🟢 -0.001 (-16.7%)
Peak node RSS (MB) 149.40 149.40 ≈ +0.00 (+0.0%)
Invalid txs 0.00 0.00 ≈ +0.00 (n/a%)

@github-actions

Copy link
Copy Markdown

Transaction costs

Sizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using arbitrary values and results are not fully deterministic and comparable to previous runs.

Metadata
Generated at 2026-07-29 22:03:19.018065239 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νHead f2dd4ade71e19c2310a86215aa78aea06463aca2d8b818af8dc1b8a4 12805
μHead 4abb8dedbcd6a6f03f4fe227300e2713d73b7680d47baa898b60d27a* 4971
νDeposit c78e8c9205721eb3ef4410f3db9c6169fa6db497c24641d29c20529c 1615
νCRS 09db7ee6cf7a4b358dd5c8a2f19d2c048336ffc5a01ef35a47ca7072 2736
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per head.

Init transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 5480 9.36 3.07 0.49
2 5571 9.78 3.21 0.50
3 5668 10.55 3.46 0.51
5 5860 11.36 3.71 0.53
10 6338 14.30 4.67 0.58
50 10182 35.51 11.29 0.97
100 14982 61.92 19.53 1.45
114 16326 69.38 21.86 1.59

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 2321 20.68 7.36 0.47
2 2451 21.67 8.34 0.49
3 2583 22.74 9.35 0.52
5 2844 25.12 11.45 0.56
10 3499 29.68 16.22 0.66
50 8742 72.02 56.11 1.52
75 12016 98.15 80.97 2.06

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 642 18.46 6.68 0.38
2 773 19.43 7.65 0.40
3 904 20.37 8.62 0.42
5 1167 22.28 10.56 0.46
10 1822 27.19 15.45 0.56
50 7063 67.55 54.74 1.40
75 10338 94.11 79.66 1.94

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 673 17.76 11.66 0.41
2 801 18.76 12.65 0.43
3 931 19.74 13.63 0.45
5 1194 21.67 15.58 0.49
10 1849 26.60 20.48 0.59
50 7090 67.23 59.94 1.44
75 10366 92.90 84.68 1.97

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 705 21.48 14.90 0.46
2 828 22.64 15.93 0.48
3 960 23.81 16.97 0.51
5 1226 26.01 19.00 0.55
10 1880 31.85 24.18 0.66
50 7118 79.44 65.71 1.58
67 9344 99.69 83.36 1.97

FanOut transaction costs

Involves spending head output and burning head tokens. Uses ada-only UTXO for better comparability.
Rows first grow the UTxO set at a fixed 10 parties, then show the largest set that still fits per number of parties (burning more participation tokens leaves less room for outputs).

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
10 0 0 5645 23.29 42.87 0.90
10 1 56 5677 25.63 45.39 0.93
10 5 285 5814 35.88 55.71 1.10
10 10 569 5984 49.89 68.99 1.31
10 20 1138 6323 82.42 96.97 1.79
1 20 1138 6044 76.20 95.00 1.72
5 20 1139 6169 78.96 95.88 1.75
10 20 1140 6324 82.42 96.97 1.79
20 20 1137 6632 89.74 99.26 1.88
50 15 852 7393 94.70 91.88 1.90

PartialFanOut transaction costs

Largest chunk of ada-only outputs that can be distributed in one partial fanout step, computed dynamically. The last row is the maximum total UTxO count where at least one output can still be distributed.

Distributed UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
11 570 987 34.91 66.33 0.95
25 1308 1427 68.24 99.40 1.48
30 1310 1429 68.24 99.40 1.48
40 1309 1428 68.24 99.40 1.48
50 1309 1424 68.24 99.40 1.48
100 1310 1429 68.24 99.40 1.48
150 1308 1427 68.24 99.40 1.48
200 1307 1426 68.24 99.40 1.48
200 1308 1427 68.24 99.40 1.48

PartialFanOut transaction costs (with native tokens)

Largest chunk of native-token outputs that can be distributed in one partial fanout step, computed dynamically. The last row is the maximum total UTxO count where at least one output can still be distributed.

Distributed UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
11 950 1422 42.00 68.83 1.05
25 2037 2280 76.56 99.12 1.58
30 2100 2346 76.56 99.12 1.59
40 2478 2742 76.56 99.22 1.60
50 2247 2497 76.59 99.17 1.59
100 2394 2655 76.59 99.22 1.60
150 2163 2413 76.56 99.16 1.59
200 2310 2567 76.59 99.22 1.60
200 2226 2479 76.56 99.17 1.59

FinalPartialFanOut transaction costs (with native tokens)

Terminal partial fanout step (FanoutProgress → Final) with outputs carrying a native token. Burns all head tokens and proves accumulator exhaustion via BLS proof.

Distributed UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 95 5514 22.10 44.30 0.89
5 485 5820 35.58 55.79 1.10
10 1000 6230 53.78 70.57 1.37
10 1110 6341 53.78 70.61 1.37

End-to-end benchmark results

This page is intended to collect the latest end-to-end benchmark results produced by Hydra's continuous integration (CI) system from the latest master code.

Please note that these results are approximate as they are currently produced from limited cloud VMs and not controlled hardware. Rather than focusing on the absolute results, the emphasis should be on relative results, such as how the timings for a scenario evolve as the code changes.

Generated at 2026-07-29 22:03:58.210799164 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 202.2
P99 206.0ms
P95 205.8ms
P50 202.1ms
Tx validation time p50 (ms) 124.9
End-to-end TPS 1426.28 tx/s
Backlog drain time (s) 0.2
Snapshots observed 3
Snapshots per second 14.26 /s
Avg txs per snapshot 100.0
Peak node RSS (MB) 144.9
Number of Invalid txs 0
Fanout outputs 2

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 1003.5
P99 1064.6ms
P95 1063.9ms
P50 970.4ms
Tx validation time p50 (ms) 485.3
End-to-end TPS 839.86 tx/s
Backlog drain time (s) 1.0
Snapshots observed 3
Snapshots per second 2.80 /s
Avg txs per snapshot 300.0
Peak node RSS (MB) 147.5
Number of Invalid txs 0
Fanout outputs 4

Scenario benchmark results

This page collects results from the scenario matrix: every combination of cluster size, UTxO shape, and incremental-ops mode is exercised by CI from the latest master code and reported below.

Numbers are approximate. They come from cloud VMs rather than controlled hardware, so the useful signal is the relative change between cells and between commits, not the absolute throughput.

Generated at 2026-07-29 22:17:17.854644716 UTC

Summary across cells

TPS columns are rates (transactions per second); Wall clock (s) is the measured elapsed time from the first tx submission to the last confirmation. Times are rounded to one decimal.

Scenario Txs Wall clock (s) End-to-end TPS (tx/s) Sustained TPS (tx/s) Avg conf (ms) P95 conf (ms)
Nodes=1, Constant, fire and forget 30 0.0 1182.45 n/a 24.6 25.1
Nodes=1, Constant, wait for tx valid 30 0.2 184.71 183.80 5.4 6.5
Nodes=1, Growing, fire and forget 30 0.0 926.75 n/a 31.4 32.1
Nodes=1, Growing, wait for tx valid 30 0.2 140.10 138.00 7.1 9.4
Nodes=1, Mixed, fire and forget 30 0.0 996.66 n/a 29.2 29.8
Nodes=1, Mixed, wait for tx valid 30 0.2 144.62 143.38 6.9 9.1
Nodes=2, Constant, fire and forget 60 0.1 884.47 n/a 64.7 66.1
Nodes=2, Constant, wait for tx valid 60 0.5 127.69 130.59 15.5 20.0
Nodes=2, Growing, fire and forget 60 0.1 737.32 n/a 79.7 80.5
Nodes=2, Growing, wait for tx valid 60 0.7 86.94 86.37 22.7 29.9
Nodes=2, Mixed, fire and forget 60 0.1 762.43 n/a 75.0 78.5
Nodes=2, Mixed, wait for tx valid 60 0.7 87.69 83.59 22.6 30.9
Nodes=3, Constant, fire and forget 90 0.1 732.06 n/a 118.0 122.5
Nodes=3, Constant, wait for tx valid 90 0.9 99.31 99.86 30.0 40.2
Nodes=3, Growing, fire and forget 90 0.2 494.30 n/a 176.5 179.6
Nodes=3, Growing, wait for tx valid 90 1.3 67.47 66.52 44.1 55.4
Nodes=3, Mixed, fire and forget 90 0.2 566.82 n/a 155.0 157.6
Nodes=3, Mixed, wait for tx valid 90 1.1 80.67 78.34 36.7 48.5

Nodes=1, Constant, fire and forget

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 24.6
P99 25.1ms
P95 25.1ms
P50 24.8ms
Tx validation time p50 (ms) 10.3
End-to-end TPS 1182.45 tx/s
Backlog drain time (s) 0.0
Snapshots observed 2
Snapshots per second 78.83 /s
Avg txs per snapshot 15.0
Peak node RSS (MB) 144.1
Number of Invalid txs 0
Fanout outputs 2

Nodes=1, Constant, wait for tx valid

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 5.4
P99 7.0ms
P95 6.5ms
P50 5.3ms
Tx validation time p50 (ms) 1.8
End-to-end TPS 184.71 tx/s
Sustained TPS 183.80 tx/s
Backlog drain time (s) 0.0
Snapshots observed 30
Snapshots per second 184.71 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 145.1
Number of Invalid txs 0
Fanout outputs 2

Nodes=1, Growing, fire and forget

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 31.4
P99 32.1ms
P95 32.1ms
P50 31.7ms
Tx validation time p50 (ms) 12.9
End-to-end TPS 926.75 tx/s
Backlog drain time (s) 0.0
Snapshots observed 2
Snapshots per second 61.78 /s
Avg txs per snapshot 15.0
Peak node RSS (MB) 144.5
Number of Invalid txs 0
Fanout outputs 31

Nodes=1, Growing, wait for tx valid

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 7.1
P99 9.9ms
P95 9.4ms
P50 6.8ms
Tx validation time p50 (ms) 1.8
End-to-end TPS 140.10 tx/s
Sustained TPS 138.00 tx/s
Backlog drain time (s) 0.0
Snapshots observed 30
Snapshots per second 140.10 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 146.0
Number of Invalid txs 0
Fanout outputs 31

Nodes=1, Mixed, fire and forget

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 29.2
P99 29.9ms
P95 29.8ms
P50 29.4ms
Tx validation time p50 (ms) 10.5
End-to-end TPS 996.66 tx/s
Backlog drain time (s) 0.0
Snapshots observed 2
Snapshots per second 66.44 /s
Avg txs per snapshot 15.0
Peak node RSS (MB) 143.2
Number of Invalid txs 0
Fanout outputs 2

Nodes=1, Mixed, wait for tx valid

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 1
Number of txs 30
Avg. Confirmation Time (ms) 6.9
P99 11.6ms
P95 9.1ms
P50 6.5ms
Tx validation time p50 (ms) 1.8
End-to-end TPS 144.62 tx/s
Sustained TPS 143.38 tx/s
Backlog drain time (s) 0.0
Snapshots observed 30
Snapshots per second 144.62 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 145.9
Number of Invalid txs 0
Fanout outputs 2

Nodes=2, Constant, fire and forget

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 64.7
P99 66.9ms
P95 66.1ms
P50 64.5ms
Tx validation time p50 (ms) 21.8
End-to-end TPS 884.47 tx/s
Backlog drain time (s) 0.1
Snapshots observed 2
Snapshots per second 29.48 /s
Avg txs per snapshot 30.0
Peak node RSS (MB) 145.0
Number of Invalid txs 0
Fanout outputs 3

Nodes=2, Constant, wait for tx valid

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 15.5
P99 21.6ms
P95 20.0ms
P50 14.8ms
Tx validation time p50 (ms) 4.8
End-to-end TPS 127.69 tx/s
Sustained TPS 130.59 tx/s
Backlog drain time (s) 0.0
Snapshots observed 60
Snapshots per second 127.69 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 144.2
Number of Invalid txs 0
Fanout outputs 3

Nodes=2, Growing, fire and forget

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 79.7
P99 80.6ms
P95 80.5ms
P50 80.1ms
Tx validation time p50 (ms) 24.1
End-to-end TPS 737.32 tx/s
Backlog drain time (s) 0.1
Snapshots observed 2
Snapshots per second 24.58 /s
Avg txs per snapshot 30.0
Peak node RSS (MB) 145.9
Number of Invalid txs 0
Fanout outputs 62

Nodes=2, Growing, wait for tx valid

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 22.7
P99 33.4ms
P95 29.9ms
P50 21.8ms
Tx validation time p50 (ms) 6.6
End-to-end TPS 86.94 tx/s
Sustained TPS 86.37 tx/s
Backlog drain time (s) 0.0
Snapshots observed 60
Snapshots per second 86.94 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 147.6
Number of Invalid txs 0
Fanout outputs 62

Nodes=2, Mixed, fire and forget

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 75.0
P99 78.5ms
P95 78.5ms
P50 74.6ms
Tx validation time p50 (ms) 22.8
End-to-end TPS 762.43 tx/s
Backlog drain time (s) 0.1
Snapshots observed 2
Snapshots per second 25.41 /s
Avg txs per snapshot 30.0
Peak node RSS (MB) 145.1
Number of Invalid txs 0
Fanout outputs 3

Nodes=2, Mixed, wait for tx valid

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 2
Number of txs 60
Avg. Confirmation Time (ms) 22.6
P99 34.0ms
P95 30.9ms
P50 22.0ms
Tx validation time p50 (ms) 6.0
End-to-end TPS 87.69 tx/s
Sustained TPS 83.59 tx/s
Backlog drain time (s) 0.0
Snapshots observed 60
Snapshots per second 87.69 /s
Avg txs per snapshot 1.0
Peak node RSS (MB) 146.1
Number of Invalid txs 0
Fanout outputs 3

Nodes=3, Constant, fire and forget

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 118.0
P99 122.6ms
P95 122.5ms
P50 118.0ms
Tx validation time p50 (ms) 45.1
End-to-end TPS 732.06 tx/s
Backlog drain time (s) 0.1
Snapshots observed 2
Snapshots per second 16.27 /s
Avg txs per snapshot 45.0
Peak node RSS (MB) 145.2
Number of Invalid txs 0
Fanout outputs 4

Nodes=3, Constant, wait for tx valid

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 30.0
P99 44.8ms
P95 40.2ms
P50 29.1ms
Tx validation time p50 (ms) 7.4
End-to-end TPS 99.31 tx/s
Sustained TPS 99.86 tx/s
Backlog drain time (s) 0.0
Snapshots observed 60
Snapshots per second 66.21 /s
Avg txs per snapshot 1.5
Peak node RSS (MB) 146.8
Number of Invalid txs 0
Fanout outputs 4

Nodes=3, Growing, fire and forget

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 176.5
P99 180.1ms
P95 179.6ms
P50 178.2ms
Tx validation time p50 (ms) 54.3
End-to-end TPS 494.30 tx/s
Backlog drain time (s) 0.2
Snapshots observed 2
Snapshots per second 10.98 /s
Avg txs per snapshot 45.0
Peak node RSS (MB) 145.7
Number of Invalid txs 0
Fanout outputs 0

Nodes=3, Growing, wait for tx valid

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 44.1
P99 65.5ms
P95 55.4ms
P50 44.6ms
Tx validation time p50 (ms) 12.3
End-to-end TPS 67.47 tx/s
Sustained TPS 66.52 tx/s
Backlog drain time (s) 0.0
Snapshots observed 61
Snapshots per second 45.73 /s
Avg txs per snapshot 1.5
Peak node RSS (MB) 147.1
Number of Invalid txs 0
Fanout outputs 0

Nodes=3, Mixed, fire and forget

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 155.0
P99 157.7ms
P95 157.6ms
P50 156.7ms
Tx validation time p50 (ms) 59.3
End-to-end TPS 566.82 tx/s
Backlog drain time (s) 0.2
Snapshots observed 2
Snapshots per second 12.60 /s
Avg txs per snapshot 45.0
Peak node RSS (MB) 144.5
Number of Invalid txs 0
Fanout outputs 4

Nodes=3, Mixed, wait for tx valid

Each client first grows its UTxO set (1-in to 2-out) for half of its tx budget, then contracts it back (2-in to 1-out) for the remainder.

Number of nodes 3
Number of txs 90
Avg. Confirmation Time (ms) 36.7
P99 52.7ms
P95 48.5ms
P50 36.9ms
Tx validation time p50 (ms) 9.7
End-to-end TPS 80.67 tx/s
Sustained TPS 78.34 tx/s
Backlog drain time (s) 0.0
Snapshots observed 61
Snapshots per second 54.67 /s
Avg txs per snapshot 1.5
Peak node RSS (MB) 147.1
Number of Invalid txs 0
Fanout outputs 4

@vrom911
vrom911 requested a review from a team July 29, 2026 22:35
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.

1 participant