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

Match function names from plutus-script-utils #1669

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

locallycompact
Copy link
Contributor

This is one step on the way to making it easier to test with different ScriptContexts.

Copy link

github-actions bot commented Sep 30, 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-10-01 20:08:48.077770047 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial d08c4d074d2155de1d5127a718fc61a7acbc8648b6032b3d0571f209 3799
νCommit 187ae86376f0acb38df9da73271bef525aed468dcd1771f0e98cee88 1743
νHead 2ee477c60839936be49a50030690865b5bed4db8cd2f05bf255ac680 10068
μHead 26decf82220fb7f84ff10eacccaa36ffd7ee29a34d5b80300a7a53d4* 4508
νDeposit c2117fd9ebdee3e96b81fd67ff7092d638926415c10f1f7e5a267ad0 2791
  • 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 5097 5.98 2.37 0.44
2 5295 7.09 2.80 0.46
3 5499 8.37 3.30 0.48
5 5899 11.32 4.48 0.53
10 6907 18.02 7.12 0.65
57 16353 82.89 32.79 1.78

Commit transaction costs

This uses ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 569 10.52 4.15 0.29
2 752 13.86 5.65 0.34
3 941 17.33 7.20 0.38
5 1317 24.65 10.44 0.48
10 2257 45.22 19.36 0.75
20 4121 95.99 40.76 1.40

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 560 22.14 8.66 0.42
2 114 671 33.03 13.08 0.54
3 169 782 47.43 18.93 0.70
4 226 897 57.69 23.35 0.82
5 283 1004 76.25 30.96 1.03
6 339 1116 96.86 39.48 1.27

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 664 17.91 7.88 0.38
2 776 18.62 8.81 0.40
3 906 20.36 10.29 0.43
5 1162 22.76 12.62 0.48
10 2079 33.35 20.34 0.66
50 8074 98.18 74.72 1.84

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 667 20.07 9.03 0.41
2 792 21.57 10.43 0.43
3 932 22.95 11.81 0.46
5 1178 25.88 14.59 0.52
10 1984 33.98 22.31 0.67
49 8098 97.88 83.27 1.90

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 672 25.86 11.11 0.47
2 827 27.65 12.65 0.50
3 1049 30.21 14.81 0.55
5 1325 33.78 17.86 0.61
10 1927 41.92 24.94 0.75
40 6416 98.50 73.58 1.76

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 4979 17.47 7.60 0.57
2 5150 29.20 12.88 0.71
3 5175 37.83 16.53 0.80
4 5411 57.90 25.71 1.04
5 5544 72.68 32.24 1.21
6 5692 93.76 41.73 1.46

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 ₳
5 0 0 4934 7.89 3.34 0.46
5 1 57 4968 9.02 4.05 0.47
5 5 283 5103 12.96 6.64 0.53
5 10 569 5273 19.20 10.45 0.61
5 20 1139 5613 30.33 17.48 0.77
5 30 1708 5954 42.04 24.77 0.93
5 40 2271 6287 53.17 31.82 1.09
5 50 2847 6634 64.70 39.03 1.25
5 81 4614 7687 99.47 60.99 1.73

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-10-01 20:10:47.464537414 UTC

Baseline Scenario

Number of nodes 1
Number of txs 3000
Avg. Confirmation Time (ms) 4.780594595
P99 9.439133019999948ms
P95 6.357651949999999ms
P50 4.542657ms
Number of Invalid txs 0

Three local nodes

Number of nodes 3
Number of txs 9000
Avg. Confirmation Time (ms) 23.502703680
P99 115.55204875000003ms
P95 30.53093435ms
P50 20.898854ms
Number of Invalid txs 0

Copy link

github-actions bot commented Sep 30, 2024

Test Results

503 tests  ±0   497 ✅ ±0   21m 57s ⏱️ + 1m 20s
160 suites ±0     6 💤 ±0 
  7 files   ±0     0 ❌ ±0 

Results for commit 2862fc9. ± Comparison against base commit 4aacf31.

♻️ This comment has been updated with latest results.

noonio
noonio previously requested changes Sep 30, 2024
Copy link
Contributor

@noonio noonio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems good; just need to understand why the cbox has changed on a few of the golden files!

@noonio
Copy link
Contributor

noonio commented Oct 2, 2024

@locallycompact re this: "plutus team says it's fine"; can you provide a link? Would just be good to keep the context around so we know why!

Otherwise, happy to merge.

@locallycompact
Copy link
Contributor Author

We were informed over slack

@ch1bo
Copy link
Collaborator

ch1bo commented Oct 2, 2024

@locallycompact re this: "plutus team says it's fine"; can you provide a link? Would just be good to keep the context around so we know why!

Otherwise, happy to merge.

We asked the plutus team why would the scripts change if we rename functions only and someone responded that they are actually not surprised by it. Seems like we have been assuming this wrongly and some step in the plutus-tx compilation pipeline (they did not know provide details) would be sensitive to renames.

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.

3 participants