Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

*DO NOT MERGE* Doom hotfixes #1745

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

*DO NOT MERGE* Doom hotfixes #1745

wants to merge 2 commits into from

Conversation

noonio
Copy link
Contributor

@noonio noonio commented Nov 21, 2024

Note that this will never be merged; it's merely an attempt to get a "fastest-possible" estimate for writing something, and not crashing with too much memory.

Instead of this PR, we will:

Copy link

github-actions bot commented Nov 21, 2024

Transaction cost differences

Script summary

Name Size (Bytes)
νInitial -
νCommit -
νHead -
μHead -
νDeposit -

Init transaction costs

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

Commit transaction costs

UTxO Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - - - -
3 - - - -
5 - - - -
10 - - - -
54 - - - -

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 - - - - -
2 - - - - -
3 - - - - -
4 - - - - -
5 - - - - -
6 - - - - -
7 - - - - -
8 - - - - -
10 - - - - -

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 - - - -
2 - $${\color{green}-0.38}$$ $${\color{green}-0.09}$$ $${\color{green}-0.01}$$
3 - - - -
5 - +0.39 +0.1 -
10 - $${\color{green}-0.39}$$ $${\color{green}-0.09}$$ -
43 - +0.39 +0.09 -

Cost of Decrement Transaction

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

Close transaction costs

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

Contest transaction costs

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

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) - - - - -
(40, 10) - - - - -
(41, 10) - - - - -

Copy link

github-actions bot commented Nov 21, 2024

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 2025-01-03 15:33:14.520420818 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial 00a6ddbc130ab92f5b7cb8d1ccd8d79eca5bfe25f6843c07b62841f0 2667
νCommit 3e5a776bcee213e3dfd15806952a10ac5590e3e97d09d62eb99266b2 690
νHead 5350e9d521552ebfd9e846fd70c3b801f716fc14296134ec0fb71e97 14495
μHead 482c3ce15cde05bc905b915ccfa2546e500be1c5d722389026c37aa3* 5615
νDeposit de09cec5f84eedaf64186cb52ba4ee6e74e6fc368af25b90d457f352 1118
  • 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 6164 10.00 3.17 0.53
2 6365 12.19 3.87 0.56
3 6566 14.43 4.59 0.59
5 6969 18.57 5.89 0.65
10 7974 28.57 9.02 0.80
44 14815 98.04 30.85 1.82

Commit transaction costs

This uses ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 561 2.45 1.17 0.20
2 744 3.40 1.74 0.22
3 923 4.39 2.34 0.24
5 1282 6.46 3.61 0.29
10 2180 12.24 7.28 0.40
54 10064 99.20 68.72 1.89

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 525 24.20 7.07 0.42
2 114 636 33.06 9.59 0.51
3 170 747 39.56 11.52 0.59
4 226 858 53.66 15.30 0.73
5 282 969 55.78 16.23 0.76
6 339 1081 72.42 20.54 0.93
7 394 1192 76.01 21.92 0.97
8 450 1303 84.81 24.53 1.07
9 505 1414 97.16 27.74 1.20
10 560 1525 99.32 28.73 1.23

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 1810 24.13 8.02 0.48
2 1899 24.21 8.68 0.49
3 2083 27.08 10.30 0.53
5 2379 30.48 12.81 0.59
10 3239 41.12 19.71 0.77
45 8128 99.44 62.01 1.76

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 601 22.68 7.32 0.41
2 795 25.39 8.74 0.45
3 966 26.75 9.80 0.48
5 1171 29.30 11.85 0.52
10 2079 41.88 18.68 0.71
42 6865 98.51 55.93 1.65

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 597 28.00 8.86 0.47
2 817 28.64 9.90 0.49
3 954 30.22 11.07 0.52
5 1172 35.51 13.97 0.59
10 1942 45.45 20.61 0.75
37 5900 90.57 53.68 1.53

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 671 33.31 10.41 0.52
2 814 35.29 11.68 0.56
3 896 36.61 12.65 0.58
5 1245 41.50 15.64 0.65
10 2096 53.11 22.92 0.84
31 5160 97.16 51.08 1.53

Abort transaction costs

There is some variation due to the random mixture of initial and already committed outputs.

Parties Tx size % max Mem % max CPU Min fee ₳
1 6073 26.09 8.83 0.69
2 6215 35.55 12.08 0.80
3 6246 40.08 13.48 0.85
4 6457 52.95 17.94 0.99
5 6727 63.96 21.75 1.12
6 6673 70.27 23.73 1.18
7 6622 70.95 23.85 1.19
8 7169 92.78 31.64 1.44
9 7139 97.87 33.25 1.49

FanOut transaction costs

Involves spending head output and burning head tokens. Uses ada-only UTXO for better comparability.

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
10 0 0 6163 18.03 6.15 0.61
10 1 57 6196 19.62 6.80 0.63
10 5 285 6333 27.45 9.95 0.72
10 20 1137 6839 57.20 21.90 1.07
10 30 1708 7182 76.79 29.78 1.30
10 40 2276 7520 96.18 37.59 1.53
10 41 2333 7554 97.98 38.32 1.55

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 2025-01-03 15:36:08.651745093 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 1.701689410
P99 2.348573399999999ms
P95 2.03803905ms
P50 1.6628715ms
Number of Invalid txs 0

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 44.856770553
P99 210.29256548ms
P95 119.2189336ms
P50 19.0422895ms
Number of Invalid txs 0

@noonio noonio force-pushed the doom-memory-hotfix branch from 2276869 to ea0b5ba Compare November 21, 2024 16:18
@noonio noonio force-pushed the doom-memory-hotfix branch from ea0b5ba to 854439a Compare December 19, 2024 10:00
@noonio noonio force-pushed the doom-memory-hotfix branch from 854439a to 4c3bec5 Compare January 3, 2025 15:14
@noonio noonio force-pushed the doom-memory-hotfix branch from 4c3bec5 to 85a0c13 Compare January 3, 2025 15:31
@noonio
Copy link
Contributor Author

noonio commented Jan 3, 2025

Note: I've bumped this to the latest updates (incremental commits, etc).

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