hydra
hydra copied to clipboard
Delete plutus-cbor and plutus-merkle-tree
These aren't used in hydra anywhere. I don't think they make sense to maintain them. If we are moving to aiken. If we do need them, they can be filter branched out of the history into a new repository.
- [ ] CHANGELOG updated or not needed
- [ ] Documentation updated or not needed
- [ ] Haddocks updated or not needed
- [ ] No new TODOs introduced or explained herafter
Transaction cost differences
No cost or size differences found
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-31 14:23:41.568908276 UTC |
| Max. memory units | 14000000 |
| Max. CPU units | 10000000000 |
| Max. tx size (kB) | 16384 |
Script summary
| Name | Hash | Size (Bytes) |
|---|---|---|
| νInitial | b512161ccb0652d7e9a0b540e4a3c808f73d6558a4bcabf374d85880 | 3969 |
| νCommit | ea444d37d226e71eef73ac78d149750da977feb588900135bf9e8221 | 692 |
| νHead | 2253ddd95837c7aacc8635a971caaea743434152dd8dd2849bdf4162 | 10797 |
| μHead | 4d648ca239040b0e87901835aa11423e7aa3bd947ce6befe7db1bae8* | 4508 |
| νDeposit | 703883df80fe589a8f64a4127057f28c9100ea9ebbb3e726c05e89ca | 3096 |
- 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 | 5094 | 5.71 | 2.25 | 0.44 |
| 2 | 5297 | 7.31 | 2.90 | 0.46 |
| 3 | 5503 | 8.56 | 3.39 | 0.49 |
| 5 | 5901 | 11.41 | 4.51 | 0.53 |
| 10 | 6907 | 18.02 | 7.12 | 0.65 |
| 57 | 16355 | 83.00 | 32.84 | 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.84 | 4.26 | 0.29 |
| 2 | 759 | 14.31 | 5.80 | 0.34 |
| 3 | 941 | 17.92 | 7.39 | 0.39 |
| 5 | 1320 | 25.56 | 10.73 | 0.49 |
| 10 | 2254 | 47.11 | 19.97 | 0.77 |
| 19 | 3943 | 94.71 | 39.81 | 1.38 |
CollectCom transaction costs
| Parties | UTxO (bytes) | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|---|
| 1 | 57 | 560 | 20.58 | 7.85 | 0.40 |
| 2 | 114 | 675 | 28.88 | 10.99 | 0.49 |
| 3 | 170 | 782 | 36.16 | 13.75 | 0.58 |
| 4 | 226 | 893 | 45.70 | 17.36 | 0.68 |
| 5 | 284 | 1004 | 56.34 | 21.37 | 0.80 |
| 6 | 339 | 1116 | 56.12 | 21.40 | 0.81 |
| 7 | 396 | 1227 | 72.50 | 27.49 | 0.99 |
| 8 | 448 | 1338 | 71.27 | 27.18 | 0.98 |
| 9 | 505 | 1449 | 82.41 | 31.41 | 1.11 |
Cost of Decrement Transaction
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 635 | 18.64 | 8.16 | 0.39 |
| 2 | 830 | 20.89 | 9.79 | 0.43 |
| 3 | 1013 | 23.12 | 11.42 | 0.46 |
| 5 | 1285 | 26.19 | 14.17 | 0.52 |
| 10 | 2010 | 33.95 | 21.06 | 0.66 |
| 49 | 7977 | 97.51 | 75.85 | 1.84 |
Close transaction costs
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 662 | 20.79 | 9.30 | 0.41 |
| 2 | 847 | 22.72 | 11.11 | 0.45 |
| 3 | 939 | 23.70 | 12.19 | 0.47 |
| 5 | 1178 | 26.52 | 15.02 | 0.52 |
| 10 | 2068 | 35.45 | 23.63 | 0.70 |
| 50 | 7825 | 97.41 | 84.58 | 1.89 |
Contest transaction costs
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 630 | 26.36 | 11.13 | 0.47 |
| 2 | 870 | 28.90 | 13.35 | 0.52 |
| 3 | 1014 | 30.68 | 14.91 | 0.55 |
| 5 | 1328 | 34.53 | 18.31 | 0.62 |
| 10 | 2232 | 45.06 | 27.51 | 0.81 |
| 39 | 6354 | 98.71 | 74.91 | 1.77 |
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 | 4971 | 15.43 | 6.60 | 0.54 |
| 2 | 5050 | 21.29 | 9.07 | 0.61 |
| 3 | 5302 | 29.54 | 12.90 | 0.72 |
| 4 | 5387 | 35.61 | 15.48 | 0.79 |
| 5 | 5514 | 42.65 | 18.53 | 0.87 |
| 6 | 5650 | 49.27 | 21.50 | 0.95 |
| 7 | 5819 | 57.11 | 24.96 | 1.05 |
| 8 | 6006 | 64.56 | 28.20 | 1.14 |
| 9 | 6200 | 72.14 | 31.67 | 1.23 |
| 10 | 6293 | 76.65 | 33.48 | 1.29 |
| 11 | 6368 | 82.58 | 35.95 | 1.36 |
| 12 | 6503 | 88.92 | 38.86 | 1.43 |
| 13 | 6840 | 98.20 | 43.13 | 1.56 |
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 | 5090 | 10.19 | 4.26 | 0.49 |
| 10 | 1 | 57 | 5123 | 11.64 | 5.10 | 0.51 |
| 10 | 5 | 284 | 5259 | 15.83 | 7.79 | 0.57 |
| 10 | 10 | 567 | 5426 | 21.67 | 11.41 | 0.65 |
| 10 | 20 | 1138 | 5767 | 33.75 | 18.81 | 0.81 |
| 10 | 30 | 1709 | 6110 | 45.13 | 25.91 | 0.97 |
| 10 | 40 | 2274 | 6446 | 57.13 | 33.29 | 1.14 |
| 10 | 50 | 2846 | 6787 | 68.44 | 40.36 | 1.29 |
| 10 | 76 | 4322 | 7665 | 99.27 | 59.39 | 1.72 |
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-31 14:26:36.435192001 UTC
Baseline Scenario
| Number of nodes | 1 |
|---|---|
| Number of txs | 300 |
| Avg. Confirmation Time (ms) | 4.995756336 |
| P99 | 18.140720339999948ms |
| P95 | 6.442478300000003ms |
| P50 | 4.4423105ms |
| Number of Invalid txs | 0 |
Three local nodes
| Number of nodes | 3 |
|---|---|
| Number of txs | 900 |
| Avg. Confirmation Time (ms) | 24.937236877 |
| P99 | 118.88462637ms |
| P95 | 33.6504651ms |
| P50 | 21.7361205ms |
| Number of Invalid txs | 0 |
Test Results
5 files - 2 162 suites - 2 28m 48s ⏱️ +10s 554 tests - 4 548 ✅ - 4 6 💤 ±0 0 ❌ ±0 556 runs - 4 550 ✅ - 4 6 💤 ±0 0 ❌ ±0
Results for commit 5354b52b. ± Comparison against base commit 97108236.
This pull request removes 4 tests.
Plutus.Codec.CBOR.Encoding ‑ matches cborg library encoding
Plutus.MerkleTree ‑ can check membership of an element
Plutus.MerkleTree ‑ fromList . toList roundtrips MT
Plutus.MerkleTree ‑ tree is balanced
:recycle: This comment has been updated with latest results.