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

Add Close to our Model #1276

Merged
merged 3 commits into from
Jan 31, 2024
Merged

Add Close to our Model #1276

merged 3 commits into from
Jan 31, 2024

Conversation

v0d1ch
Copy link
Contributor

@v0d1ch v0d1ch commented Jan 30, 2024

Add a Close event to our Model testing.


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

@v0d1ch v0d1ch self-assigned this Jan 30, 2024
@v0d1ch v0d1ch changed the base branch from fix-mockchain-tqueue-flush to master January 30, 2024 09:58
@v0d1ch v0d1ch requested a review from a team January 30, 2024 09:59
Copy link

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

Script summary

Name Hash Size (Bytes)
νInitial 985245919fcc6c0c5cd116023cd2c947c43e80dcbb5075fe12433fbb 4072
νCommit 7cb20fa71eb4c563ca283566ebe0aa65859d96c3f8cba35c52c181fd 2043
νHead 7a36661f5c15e9f1783aeaab890812c59b7286cbbc6de762d3110772 8816
μHead 8b111ac12274e46314769295a1c5dcab1d260096fc469fd698065463* 3851
  • 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 4374 10.40 4.01 0.46
2 4576 12.47 4.79 0.49
3 4776 14.89 5.72 0.52
5 5179 19.20 7.35 0.59
10 6185 30.20 11.51 0.75
41 12417 99.11 37.63 1.77

Cost of Commit Transaction

This is using ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 531 11.37 4.44 0.30
2 723 15.04 6.07 0.35
3 909 18.85 7.75 0.40
5 1277 26.90 11.27 0.51
10 2221 49.55 20.97 0.80
19 3900 99.43 41.75 1.43

Cost of CollectCom Transaction

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 480 21.82 8.53 0.41
2 113 590 33.13 13.07 0.54
3 170 700 47.26 18.78 0.70
4 226 810 60.22 24.14 0.85
5 281 920 74.56 30.14 1.01
6 336 1031 98.82 39.87 1.28

Cost of Close Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 541 16.72 7.69 0.36
2 756 18.41 9.31 0.40
3 918 20.22 10.94 0.43
5 1264 23.93 14.25 0.50
10 2191 32.30 22.09 0.67
50 9052 99.10 84.25 1.96

Cost of Contest Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 566 20.27 8.97 0.40
2 798 22.26 10.72 0.44
3 961 24.11 12.36 0.48
5 1338 28.33 15.88 0.55
10 2218 37.96 24.27 0.73
43 7906 97.85 76.89 1.84

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 4307 18.98 8.16 0.55
2 4501 31.93 13.92 0.71
3 4665 47.47 20.84 0.89
4 4858 66.01 29.10 1.11
5 5033 87.42 38.59 1.36

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 4205 7.84 3.28 0.42
5 1 57 4240 9.07 4.04 0.44
5 5 285 4376 14.40 7.27 0.51
5 10 569 4544 20.34 10.99 0.59
5 20 1137 4882 32.72 18.65 0.76
5 30 1706 5223 45.15 26.34 0.93
5 40 2276 5564 57.25 33.88 1.10
5 50 2847 5905 69.77 41.61 1.27
5 74 4214 6719 99.13 59.87 1.68

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-01-31 10:11:01.044952111 UTC

Baseline Scenario

Number of nodes 3
Number of txs 9000
Avg. Confirmation Time (ms) 22.209434515
P99 108.27069566000014ms
P95 31.170846699999995ms
P50 19.701698999999998ms
Number of Invalid txs 0

Baseline Scenario

Number of nodes 1
Number of txs 3000
Avg. Confirmation Time (ms) 4.282270660
P99 9.287778329999988ms
P95 5.671723599999997ms
P50 4.0298835ms
Number of Invalid txs 0

Copy link

github-actions bot commented Jan 30, 2024

Test Results

407 tests  ±0   400 ✅ ±0   13m 16s ⏱️ +12s
137 suites ±0     7 💤 ±0 
  5 files   ±0     0 ❌ ±0 

Results for commit 792cca4. ± Comparison against base commit 57e1304.

♻️ This comment has been updated with latest results.

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.

Only minor comments, on to the next action in the model!

waitAndRetry
where
headIsOpen = \case
HeadIsOpen{} -> True
_ -> False
Copy link
Member

Choose a reason for hiding this comment

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

Could: just keep this function here.

@@ -719,7 +742,7 @@ waitForUTxOToSpend utxo key value node = go 100
pure $ Left utxo
n -> do
node `send` Input.GetUTxO
threadDelay 5
threadDelay 0.1
Copy link
Member

Choose a reason for hiding this comment

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

This will make the model runner spam / poll the node quite a lot. Do we need this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No, this is a leftover

@v0d1ch v0d1ch merged commit cc97c5f into master Jan 31, 2024
21 checks passed
@v0d1ch v0d1ch deleted the add-close-to-model branch January 31, 2024 10:27
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.

None yet

3 participants