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

Transaction cost differences

No cost or size differences found

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 2024-12-19 10:04:32.496917103 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 8fc2a74df32d01d1db56b3acb561831ef9c9970123079423abfcb86e 12622
μHead c40e78e78083a4c137734abe9ac4070cc978842e9755fe88e0c7b922* 11133
νDeposit 2feb47889a4f658dc593cefcb0e37d584b9431944f08a687f3dab4af 4865
  • 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 11718 8.84 2.88 0.76
2 11918 10.77 3.52 0.79
3 12117 12.22 3.97 0.81
5 12521 16.11 5.26 0.87
10 13525 24.86 8.09 1.00
24 16343 49.30 16.02 1.38

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 741 3.40 1.74 0.22
3 922 4.39 2.34 0.24
5 1280 6.46 3.61 0.28
10 2177 12.24 7.28 0.40
54 10067 99.20 68.72 1.89

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 56 559 24.08 7.04 0.42
2 114 671 32.84 9.55 0.51
3 171 782 40.68 11.79 0.60
4 225 893 49.06 14.26 0.69
5 284 1009 60.07 17.24 0.80
6 339 1116 68.34 19.61 0.89
7 393 1227 74.12 21.52 0.96
8 453 1338 80.33 23.43 1.03
9 504 1449 98.18 28.18 1.21
10 560 1560 97.56 28.13 1.21

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 659 22.35 7.24 0.41
2 771 24.04 8.37 0.44
3 904 24.83 9.24 0.46
5 1282 30.31 12.13 0.54
10 1999 39.11 17.91 0.68
46 7083 96.95 58.16 1.66

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 664 24.38 8.02 0.43
2 853 26.59 9.49 0.47
3 915 27.42 10.32 0.49
5 1193 30.54 12.64 0.54
10 1847 38.17 18.40 0.67
44 6970 98.34 61.57 1.70

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 685 30.47 9.64 0.50
2 803 32.36 10.89 0.53
3 933 34.10 12.10 0.55
5 1266 38.39 14.87 0.62
10 2066 48.85 21.65 0.79
34 5630 98.20 53.88 1.58

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 11632 25.63 8.73 0.93
2 11732 34.20 11.64 1.03
3 11909 43.58 14.85 1.13
4 12025 52.35 17.86 1.23
5 12127 60.65 20.64 1.32
6 12338 71.14 24.29 1.44
7 12312 77.34 26.31 1.51
8 12766 92.52 31.71 1.69
9 12788 94.42 32.34 1.71
10 12765 99.82 33.89 1.76

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 11715 16.77 5.72 0.84
10 1 57 11749 19.56 6.83 0.87
10 5 285 11885 27.12 9.93 0.96
10 10 570 12054 35.86 13.55 1.07
10 20 1139 12394 54.38 21.17 1.29
10 30 1706 12732 73.27 28.92 1.51
10 40 2275 13071 91.44 36.40 1.73
10 44 2505 13210 98.85 39.45 1.81

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 2024-12-19 10:08:10.455386464 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 1.700201150
P99 2.35038261ms
P95 2.0919692000000003ms
P50 1.6397405ms
Number of Invalid txs 0

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 43.009116537
P99 211.01254540000002ms
P95 118.26980659999998ms
P50 19.4256365ms
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
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