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

Persistence works with committing empty UTxO #1741

Merged
merged 1 commit into from
Nov 19, 2024

Conversation

v0d1ch
Copy link
Contributor

@v0d1ch v0d1ch commented Nov 14, 2024

Why

To prove that we can load from persistence when we commit empty UTxO (reported by hydra-doom team)


  • 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 Nov 14, 2024
@v0d1ch v0d1ch requested a review from a team November 14, 2024 10:32
@v0d1ch v0d1ch force-pushed the persistence-breaks-with-empty-commit branch from ba9c3df to 5f0013a Compare November 14, 2024 10:33
Copy link

Transaction cost differences

No cost or size differences found

@v0d1ch v0d1ch force-pushed the persistence-breaks-with-empty-commit branch from 5f0013a to fde32e0 Compare November 14, 2024 10:39
Copy link

github-actions bot commented Nov 14, 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-11-14 10:53:57.947378494 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 00e0e6aceb51fcb4fcc5dc6032cc524a641163f0723b25d995de3ae8 12633
μHead 134f18365d53de72b07af2e703c96d8a6f0643c71d4c1a2050b8182a* 11111
ν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 11699 8.69 2.83 0.76
2 11896 11.14 3.66 0.79
3 12099 12.54 4.09 0.81
5 12502 15.86 5.16 0.87
10 13505 24.51 7.96 1.00
24 16321 49.11 15.95 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 920 4.39 2.34 0.24
5 1280 6.46 3.61 0.28
10 2173 12.24 7.28 0.40
54 10055 99.20 68.72 1.89

CollectCom transaction costs

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 560 23.94 7.01 0.42
2 114 675 33.53 9.69 0.52
3 171 782 40.52 11.77 0.60
4 227 893 48.44 14.03 0.68
5 282 1004 56.61 16.41 0.77
6 339 1116 73.15 20.81 0.94
7 393 1227 76.10 21.87 0.98
8 451 1342 85.94 24.68 1.08
9 504 1449 99.35 28.35 1.22

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 628 22.26 7.22 0.41
2 728 22.25 7.85 0.42
3 950 25.79 9.51 0.47
5 1260 30.62 12.21 0.54
10 1894 36.38 17.18 0.65
42 6837 98.17 55.86 1.65

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 644 24.31 8.00 0.43
2 780 25.79 9.14 0.46
3 984 27.83 10.57 0.49
5 1249 31.08 12.92 0.55
10 2030 39.85 19.31 0.70
43 7158 99.35 61.78 1.71

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 703 30.32 9.62 0.50
2 769 31.56 10.55 0.52
3 1094 35.12 12.66 0.57
5 1209 37.72 14.56 0.61
10 2213 50.15 22.39 0.81
34 5722 99.38 54.28 1.60

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 11597 25.80 8.77 0.93
2 11754 34.95 11.94 1.04
3 11762 41.46 14.06 1.10
4 11958 51.05 17.33 1.21
5 12206 62.43 21.36 1.35
6 12235 68.90 23.50 1.41
7 12351 77.79 26.44 1.51
8 12602 89.88 30.67 1.65
9 12447 85.62 29.02 1.60
10 12680 99.41 33.71 1.75

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 11693 18.07 6.20 0.86
10 1 57 11726 19.19 6.70 0.87
10 5 285 11862 26.60 9.74 0.96
10 10 570 12032 36.59 13.82 1.07
10 20 1137 12370 54.75 21.30 1.29
10 30 1708 12712 72.54 28.65 1.50
10 40 2275 13049 92.12 36.66 1.73
10 44 2503 13186 98.65 39.38 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-11-14 10:56:53.334726968 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 4.405006903
P99 8.315009179999997ms
P95 5.6884298ms
P50 4.192619ms
Number of Invalid txs 0

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 23.825956307
P99 116.04906553999999ms
P95 32.01571025ms
P50 21.491871ms
Number of Invalid txs 0

@v0d1ch v0d1ch force-pushed the persistence-breaks-with-empty-commit branch from fde32e0 to 07c960a Compare November 14, 2024 10:48
Copy link

Test Results

  5 files  ±0  162 suites  ±0   30m 36s ⏱️ + 2m 7s
555 tests +1  549 ✅ +1  6 💤 ±0  0 ❌ ±0 
557 runs  +1  551 ✅ +1  6 💤 ±0  0 ❌ ±0 

Results for commit 07c960a. ± Comparison against base commit 27fc223.

@locallycompact locallycompact added this pull request to the merge queue Nov 15, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 15, 2024
@noonio noonio added this pull request to the merge queue Nov 19, 2024
Merged via the queue into master with commit 25f9f72 Nov 19, 2024
26 checks passed
@noonio noonio deleted the persistence-breaks-with-empty-commit branch November 19, 2024 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants