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

Refactor flake, shells and hydraProject #1317

Merged
merged 13 commits into from
Feb 28, 2024
Merged

Conversation

locallycompact
Copy link
Contributor

@locallycompact locallycompact commented Feb 22, 2024

We no longer need .#ci. input-output-hk urls are stale. Moves pkgs and tools to the top level and simplified the haskell.nix project function. Removes` impure argument defaults like currentSystem and <nixpkgs>.


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

@locallycompact locallycompact force-pushed the lc/flake-update branch 7 times, most recently from d21cf46 to 55c9e17 Compare February 22, 2024 05:49
Copy link

github-actions bot commented Feb 22, 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-02-27 16:49:36.624816582 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.68 3.31 0.46
2 4993 10.91 4.18 0.49
3 5196 12.74 4.88 0.52
5 5600 16.81 6.45 0.58
10 6602 26.22 10.05 0.73
47 14044 98.08 37.64 1.83

Cost of Commit Transaction

This is using ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 594 10.24 4.04 0.29
2 782 13.88 5.64 0.34
3 972 17.66 7.29 0.39
5 1348 25.66 10.74 0.49
10 2285 48.19 20.30 0.79
19 3966 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 114 654 27.48 10.93 0.48
3 170 768 39.73 15.93 0.62
4 225 874 54.09 21.80 0.78
5 282 984 68.52 27.84 0.95
6 337 1095 87.43 35.59 1.16

Cost of Close Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 596 8.34 4.61 0.28
2 792 9.45 6.03 0.30
3 874 9.58 6.67 0.31
5 1235 11.80 9.47 0.37
10 2045 16.72 15.84 0.49
50 8259 51.33 63.96 1.39

Cost of Contest Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 580 8.20 4.38 0.27
2 770 9.38 5.82 0.30
3 903 10.11 6.88 0.32
5 1279 12.29 9.67 0.38
10 2031 17.13 15.91 0.49
50 7912 49.50 62.28 1.35

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 4669 16.96 7.34 0.55
2 4816 27.88 12.16 0.68
3 5008 43.60 19.20 0.86
4 5079 58.28 25.61 1.03
5 5142 74.01 32.50 1.21
6 5277 91.39 40.08 1.41

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 57 4661 8.79 3.90 0.45
5 5 284 4796 14.03 7.02 0.53
5 10 570 4968 19.37 10.40 0.60
5 20 1139 5307 31.11 17.62 0.76
5 30 1706 5645 42.43 24.67 0.92
5 40 2276 5986 54.26 31.93 1.08
5 50 2841 6320 65.50 38.95 1.24
5 79 4499 7311 98.79 59.60 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-02-27 16:51:50.032903309 UTC

Baseline Scenario

Number of nodes 3
Number of txs 9000
Avg. Confirmation Time (ms) 23.630925526
P99 104.56964730000003ms
P95 33.962816799999985ms
P50 20.9652785ms
Number of Invalid txs 0

Baseline Scenario

Number of nodes 1
Number of txs 3000
Avg. Confirmation Time (ms) 4.395618832
P99 10.646925059999983ms
P95 5.5152960499999955ms
P50 4.113934ms
Number of Invalid txs 0

Copy link

github-actions bot commented Feb 22, 2024

Test Results

418 tests   410 ✅  13m 46s ⏱️
139 suites    8 💤
  5 files      0 ❌

Results for commit d3e1aaf.

♻️ This comment has been updated with latest results.

@locallycompact locallycompact requested a review from a team February 22, 2024 06:56
@ch1bo ch1bo self-assigned this Feb 22, 2024
Copy link
Member

@ch1bo ch1bo left a comment

Choose a reason for hiding this comment

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

I like the refactoring, but you are stripping off some (to me) essential comments and I would like to retain them.

Also, the fact that we have the tools defined far away from where we actually need them (only in shell.nix) is making this harder than necessary to read/understand.

.github/workflows/formatting.yaml Show resolved Hide resolved
nix/hydra/project.nix Show resolved Hide resolved
flake.nix Show resolved Hide resolved
flake.nix Show resolved Hide resolved
cabal.project Show resolved Hide resolved
nix/hydra/packages.nix Show resolved Hide resolved
flake.nix Show resolved Hide resolved
nix/hydra/shell.nix Show resolved Hide resolved
nix/hydra/shell.nix Show resolved Hide resolved
@ch1bo ch1bo removed their assignment Feb 23, 2024
@locallycompact locallycompact force-pushed the lc/flake-update branch 4 times, most recently from 4133055 to 1e6af92 Compare February 24, 2024 10:03
@ch1bo ch1bo self-requested a review February 26, 2024 10:39
@locallycompact locallycompact merged commit a269c50 into master Feb 28, 2024
21 checks passed
@locallycompact locallycompact deleted the lc/flake-update branch February 28, 2024 11:38
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.

2 participants