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

Make hydra-cluster --devnet configurable #1420

Merged
merged 1 commit into from
May 9, 2024
Merged

Conversation

ch1bo
Copy link
Collaborator

@ch1bo ch1bo commented May 8, 2024

By default it will now open a head and wait again and only when given --busy, the head is busy respending the same head.

This allows to verify interactions with a open head interactively quickly by just doing:

cabal build hydra-cluster
hydra_cluster_datadir=hydra-cluster cabal exec hydra-cluster -- --devnet --publish-hydra-scripts

This is particularly handy when writing the user manual.


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

@ch1bo ch1bo requested a review from a team May 8, 2024 16:30
@ch1bo ch1bo marked this pull request as ready for review May 8, 2024 16:30
Copy link

github-actions bot commented May 8, 2024

Transactions 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-05-09 07:41:04.971657714 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial bccf2a430c016bc960fbf31b02694011cd399d20da8882aac9d33611 4110
νCommit 56b0f0b597150e619c76bed60683f3b1e42d7bc0685ed951b882bfc5 1975
νHead 86bff95ba20e9d1d1b34899a56d86bbacc9fed999260b27dcc92d128 9351
μHead 88f533cf67cd0fc93d7d9ccf0a8b1d69ffd1208a825efbebbc1d36ba* 4213
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per Head.

Cost of Init Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 4794 8.82 3.37 0.46
2 4993 10.61 4.05 0.48
3 5196 12.55 4.80 0.51
5 5600 16.43 6.29 0.57
10 6605 26.50 10.17 0.73
48 14242 99.87 38.32 1.86

Cost of Commit Transaction

This is using ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 554 10.24 4.04 0.29
2 748 13.88 5.64 0.34
3 933 17.66 7.29 0.39
5 1305 25.66 10.74 0.49
10 2241 48.19 20.30 0.78
19 3935 97.83 40.79 1.41

Cost of CollectCom Transaction

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 544 16.88 6.67 0.36
2 113 654 27.35 10.88 0.48
3 169 764 39.72 15.93 0.62
4 226 874 50.67 20.55 0.75
5 283 984 67.25 27.39 0.93
6 339 1095 87.38 35.57 1.16

Cost of Close Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 524 8.01 3.80 0.27
2 751 8.96 5.65 0.30
3 906 10.11 7.05 0.32
5 1236 11.89 9.49 0.37
10 2163 17.05 16.21 0.50
50 8053 51.14 63.32 1.37

Cost of Contest Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 644 8.69 4.76 0.28
2 808 9.75 6.12 0.31
3 1012 11.01 7.60 0.34
5 1174 11.40 8.97 0.36
10 2128 17.43 16.31 0.50
50 8084 52.28 63.91 1.39

Cost of Abort Transaction

Some variation because of random mixture of still initial and already committed outputs.

Parties Tx size % max Mem % max CPU Min fee ₳
1 4698 17.00 7.37 0.55
2 4771 27.96 12.18 0.67
3 4847 39.79 17.35 0.81
4 5066 57.21 25.18 1.02
5 5262 78.43 34.52 1.26
6 5350 98.21 43.25 1.49

Cost of FanOut Transaction

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 4627 8.06 3.37 0.44
5 1 56 4660 9.00 3.99 0.46
5 5 284 4797 13.82 6.93 0.52
5 10 570 4968 19.79 10.58 0.61
5 20 1142 5309 31.11 17.62 0.76
5 30 1710 5649 42.43 24.67 0.92
5 40 2273 5983 53.96 31.81 1.08
5 50 2846 6325 65.29 38.86 1.24
5 79 4499 7311 99.21 59.77 1.70

End-To-End Benchmark Results

This page is intended to collect the latest end-to-end benchmarks results produced by Hydra's Continuous Integration system from the latest master code.

Please take those results with a grain of salt as they are currently produced from very limited cloud VMs and not controlled hardware. Instead of focusing on the absolute results, the emphasis should be on relative results, eg. how the timings for a scenario evolve as the code changes.

Generated at 2024-05-09 07:44:56.139310185 UTC

Baseline Scenario

Number of nodes 3
Number of txs 9000
Avg. Confirmation Time (ms) 22.032744595
P99 111.11295025ms
P95 31.34708739999999ms
P50 19.498683999999997ms
Number of Invalid txs 0

Baseline Scenario

Number of nodes 1
Number of txs 3000
Avg. Confirmation Time (ms) 4.309602415
P99 7.186194369999971ms
P95 5.480806099999998ms
P50 4.146235ms
Number of Invalid txs 0

Copy link

github-actions bot commented May 8, 2024

Test Results

426 tests  ±0   416 ✅ ±0   14m 32s ⏱️ ±0s
138 suites ±0    10 💤 ±0 
  2 files   ±0     0 ❌ ±0 

Results for commit 8e65f5a. ± Comparison against base commit 7d66414.

By default it will now open a head and wait again and only when given
`--busy`, the head is busy respending the same head.

This allows to verify interactions with a open head interactively
quickly by just doing:

```
cabal build hydra-cluster
hydra_cluster_datadir=hydra-cluster cabal exec hydra-cluster -- --devnet --publish-hydra-scripts
```

This is particularly handy when writing the user manual.
@locallycompact locallycompact merged commit f081958 into master May 9, 2024
19 checks passed
@locallycompact locallycompact deleted the hydra-cluster-busy branch May 9, 2024 07:47
@ch1bo ch1bo added this to the 0.17.0 milestone Jun 10, 2024
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