-
Couldn't load subscription status.
- Fork 97
Don't write back to the same input we read from; seems to cause deadlock #2088
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
Conversation
Transaction costsSizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using
Script summary
|
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 5836 | 10.56 | 3.35 | 0.52 |
| 2 | 6038 | 12.67 | 4.02 | 0.55 |
| 3 | 6238 | 14.26 | 4.50 | 0.57 |
| 5 | 6640 | 18.97 | 6.00 | 0.64 |
| 10 | 7647 | 29.35 | 9.26 | 0.79 |
| 43 | 14283 | 98.94 | 30.92 | 1.80 |
Commit transaction costs
This uses ada-only outputs for better comparability.
| UTxO | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 561 | 2.44 | 1.16 | 0.20 |
| 2 | 743 | 3.38 | 1.73 | 0.22 |
| 3 | 920 | 4.36 | 2.33 | 0.24 |
| 5 | 1273 | 6.41 | 3.60 | 0.28 |
| 10 | 2173 | 12.13 | 7.25 | 0.40 |
| 54 | 10055 | 98.61 | 68.52 | 1.88 |
CollectCom transaction costs
| Parties | UTxO (bytes) | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|---|
| 1 | 57 | 525 | 25.24 | 7.32 | 0.43 |
| 2 | 113 | 640 | 34.38 | 9.91 | 0.53 |
| 3 | 171 | 747 | 40.14 | 11.65 | 0.59 |
| 4 | 225 | 858 | 49.50 | 14.27 | 0.69 |
| 5 | 284 | 969 | 57.39 | 16.55 | 0.78 |
| 6 | 339 | 1081 | 71.70 | 20.44 | 0.92 |
| 7 | 394 | 1192 | 74.59 | 21.53 | 0.96 |
| 8 | 448 | 1303 | 91.55 | 25.94 | 1.13 |
| 9 | 507 | 1418 | 89.52 | 26.02 | 1.12 |
Cost of Increment Transaction
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 1748 | 22.83 | 7.57 | 0.47 |
| 2 | 1938 | 25.69 | 9.18 | 0.51 |
| 3 | 2147 | 28.88 | 11.00 | 0.56 |
| 5 | 2383 | 31.12 | 12.96 | 0.60 |
| 10 | 3110 | 39.23 | 18.97 | 0.74 |
| 42 | 7909 | 99.98 | 60.07 | 1.74 |
Cost of Decrement Transaction
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 607 | 22.73 | 7.33 | 0.41 |
| 2 | 692 | 22.51 | 7.91 | 0.42 |
| 3 | 874 | 24.94 | 9.26 | 0.46 |
| 5 | 1179 | 28.96 | 11.72 | 0.52 |
| 10 | 1958 | 38.45 | 17.73 | 0.67 |
| 41 | 6535 | 97.04 | 54.66 | 1.62 |
Close transaction costs
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 697 | 27.33 | 8.80 | 0.47 |
| 2 | 891 | 29.66 | 10.30 | 0.50 |
| 3 | 971 | 33.10 | 11.95 | 0.55 |
| 5 | 1264 | 37.37 | 14.69 | 0.61 |
| 10 | 2105 | 45.06 | 20.78 | 0.76 |
| 37 | 6126 | 98.76 | 56.40 | 1.62 |
Contest transaction costs
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 679 | 33.70 | 10.50 | 0.53 |
| 2 | 768 | 35.06 | 11.48 | 0.55 |
| 3 | 1007 | 38.41 | 13.37 | 0.60 |
| 5 | 1417 | 43.66 | 16.52 | 0.68 |
| 10 | 2104 | 53.67 | 22.98 | 0.84 |
| 30 | 4822 | 97.53 | 49.86 | 1.51 |
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 | 5791 | 26.89 | 9.02 | 0.69 |
| 2 | 5961 | 36.68 | 12.35 | 0.80 |
| 3 | 6015 | 44.26 | 14.82 | 0.88 |
| 4 | 6242 | 55.64 | 18.67 | 1.01 |
| 5 | 6269 | 62.22 | 20.80 | 1.08 |
| 6 | 6308 | 70.47 | 23.53 | 1.17 |
| 7 | 6542 | 81.46 | 27.30 | 1.29 |
| 8 | 6778 | 91.83 | 30.87 | 1.41 |
| 9 | 6708 | 93.35 | 31.23 | 1.42 |
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 | 5835 | 19.19 | 6.41 | 0.61 |
| 10 | 1 | 57 | 5868 | 22.11 | 7.52 | 0.64 |
| 10 | 20 | 1139 | 6514 | 59.57 | 22.38 | 1.08 |
| 10 | 30 | 1709 | 6856 | 80.53 | 30.62 | 1.32 |
| 10 | 38 | 2163 | 7126 | 97.13 | 37.15 | 1.52 |
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 2025-06-26 15:32:58.626288353 UTC
Baseline Scenario
| Number of nodes | 1 |
|---|---|
| Number of txs | 300 |
| Avg. Confirmation Time (ms) | 4.542773983 |
| P99 | 8.973801159999988ms |
| P95 | 5.451819950000002ms |
| P50 | 4.345498ms |
| Number of Invalid txs | 0 |
Memory data
| Time | Used | Free |
|---|---|---|
| 2025-06-26 15:31:41.801036601 UTC | 0m | 0; |
| 2025-06-26 15:31:46.800882755 UTC | 2 | 0; |
| 2025-06-26 15:31:51.801128403 UTC | 7 | 0; |
| 2025-06-26 15:31:56.800936685 UTC | 1 | 0; |
| 2025-06-26 15:32:01.800981333 UTC | 1 | 0; |
| 2025-06-26 15:32:06.800967919 UTC | 1 | 0; |
Three local nodes
| Number of nodes | 3 |
|---|---|
| Number of txs | 900 |
| Avg. Confirmation Time (ms) | 30.292866520 |
| P99 | 45.84901367ms |
| P95 | 40.6053948ms |
| P50 | 29.1562025ms |
| Number of Invalid txs | 0 |
Memory data
| Time | Used | Free |
|---|---|---|
| 2025-06-26 15:32:20.810618794 UTC | 0m | 0; |
| 2025-06-26 15:32:25.81059166 UTC | 2 | 0; |
| 2025-06-26 15:32:30.813464418 UTC | 4 | 0; |
| 2025-06-26 15:32:35.810580646 UTC | 20 | 0; |
| 2025-06-26 15:32:40.810606601 UTC | 20 | 0; |
| 2025-06-26 15:32:45.810567135 UTC | 3 | 0; |
| 2025-06-26 15:32:50.810565994 UTC | 3 | 0; |
| 2025-06-26 15:32:55.81059017 UTC | 2 | 0; |
Transaction cost differencesNo cost or size differences found |
@ffakenz can you write a little bit about this change?
Also related to #2086, but we don't expect this to completely resolve that problem.