Conversation
This reduces the memory usage significantly (1.7 GB vs. 137 MB for the stress-test I was running) Signed-off-by: Sasha Bogicevic <sasha.bogicevic@iohk.io>
GitHub Actions runners have limited disk space (~14GB available). When building uncached Nix derivations (like our modified hydra-node), the build can exhaust disk space during compilation. This adds a cleanup step that removes unused tools before the build: - .NET SDK (~1.8GB) - Android SDK (~9GB) - GHC (~5GB) - CodeQL (~2.5GB) - Unused Docker images This frees up ~20GB of disk space, ensuring builds complete successfully.
- Add pull_request trigger for PRs targeting master branch - Tag PR builds as pr-<number> for easy identification - Use PR head SHA as version for traceability
Transaction cost differencesNo cost or size differences found |
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 | 5834 | 10.74 | 3.42 | 0.52 |
| 2 | 6038 | 12.92 | 4.11 | 0.55 |
| 3 | 6236 | 14.71 | 4.65 | 0.58 |
| 5 | 6638 | 18.60 | 5.87 | 0.63 |
| 10 | 7644 | 29.14 | 9.19 | 0.79 |
| 43 | 14281 | 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 | 740 | 3.38 | 1.73 | 0.22 |
| 3 | 922 | 4.36 | 2.33 | 0.24 |
| 5 | 1280 | 6.41 | 3.60 | 0.28 |
| 10 | 2180 | 12.13 | 7.25 | 0.40 |
| 54 | 10059 | 98.61 | 68.52 | 1.88 |
CollectCom transaction costs
| Parties | UTxO (bytes) | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|---|
| 1 | 57 | 525 | 25.20 | 7.30 | 0.43 |
| 2 | 114 | 636 | 34.23 | 9.85 | 0.53 |
| 3 | 169 | 747 | 42.45 | 12.22 | 0.61 |
| 4 | 227 | 858 | 48.22 | 13.99 | 0.68 |
| 5 | 283 | 969 | 57.76 | 16.70 | 0.78 |
| 6 | 340 | 1081 | 67.59 | 19.41 | 0.88 |
| 7 | 394 | 1196 | 78.83 | 22.59 | 1.00 |
| 8 | 451 | 1307 | 94.91 | 26.90 | 1.17 |
Cost of Increment Transaction
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 1797 | 24.37 | 7.71 | 0.48 |
| 2 | 1924 | 25.47 | 8.70 | 0.50 |
| 3 | 2095 | 28.39 | 10.16 | 0.55 |
| 5 | 2407 | 30.80 | 12.19 | 0.59 |
| 10 | 3333 | 44.45 | 19.31 | 0.80 |
| 40 | 7605 | 99.41 | 54.55 | 1.68 |
Cost of Decrement Transaction
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 607 | 22.84 | 7.38 | 0.41 |
| 2 | 699 | 22.55 | 7.94 | 0.42 |
| 3 | 830 | 24.13 | 9.06 | 0.45 |
| 5 | 1235 | 29.01 | 11.75 | 0.52 |
| 10 | 1919 | 37.40 | 17.43 | 0.66 |
| 41 | 6619 | 99.46 | 55.38 | 1.64 |
Close transaction costs
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 648 | 29.17 | 8.91 | 0.48 |
| 2 | 868 | 29.94 | 9.83 | 0.50 |
| 3 | 974 | 30.94 | 10.75 | 0.52 |
| 5 | 1249 | 36.87 | 13.74 | 0.60 |
| 10 | 1999 | 48.11 | 20.25 | 0.77 |
| 37 | 6175 | 99.13 | 52.64 | 1.60 |
Contest transaction costs
| Parties | Tx size | % max Mem | % max CPU | Min fee ₳ |
|---|---|---|---|---|
| 1 | 701 | 33.83 | 10.15 | 0.53 |
| 2 | 760 | 35.14 | 11.16 | 0.55 |
| 3 | 979 | 38.62 | 12.83 | 0.60 |
| 5 | 1271 | 42.53 | 15.25 | 0.66 |
| 10 | 2163 | 55.17 | 22.16 | 0.85 |
| 29 | 4915 | 99.36 | 47.10 | 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 | 5804 | 26.92 | 9.04 | 0.69 |
| 2 | 5953 | 35.72 | 12.00 | 0.79 |
| 3 | 6093 | 42.53 | 14.27 | 0.86 |
| 4 | 6166 | 52.93 | 17.74 | 0.98 |
| 5 | 6317 | 59.70 | 20.03 | 1.05 |
| 6 | 6557 | 72.70 | 24.49 | 1.20 |
| 7 | 6908 | 87.30 | 29.55 | 1.37 |
| 8 | 6872 | 89.73 | 30.22 | 1.40 |
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 | 18.75 | 6.26 | 0.60 |
| 10 | 1 | 57 | 5869 | 20.34 | 6.91 | 0.62 |
| 10 | 5 | 285 | 6004 | 28.90 | 10.28 | 0.72 |
| 10 | 30 | 1709 | 6856 | 80.92 | 30.76 | 1.33 |
| 10 | 39 | 2223 | 7162 | 98.49 | 37.73 | 1.53 |
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 2026-01-15 02:56:43.233606591 UTC
Baseline Scenario
| Number of nodes | 1 |
|---|---|
| Number of txs | 300 |
| Avg. Confirmation Time (ms) | 5.460566560 |
| P99 | 9.87451888999998ms |
| P95 | 6.507479850000001ms |
| P50 | 5.1375185000000005ms |
| Number of Invalid txs | 0 |
Memory data
| Time | Used | Free |
|---|---|---|
| 2026-01-15 02:55:15.320809824 UTC | 1662M | 7181M |
| 2026-01-15 02:55:16.320846212 UTC | 1700M | 7108M |
| 2026-01-15 02:55:17.320873698 UTC | 1715M | 7092M |
| 2026-01-15 02:55:18.320799335 UTC | 1718M | 7089M |
| 2026-01-15 02:55:19.320766679 UTC | 1782M | 6949M |
| 2026-01-15 02:55:20.32084921 UTC | 1793M | 6937M |
| 2026-01-15 02:55:21.320796457 UTC | 1798M | 6928M |
| 2026-01-15 02:55:22.320830475 UTC | 1805M | 6917M |
| 2026-01-15 02:55:23.320835011 UTC | 1805M | 6917M |
| 2026-01-15 02:55:24.320783483 UTC | 1805M | 6917M |
| 2026-01-15 02:55:25.320823684 UTC | 1805M | 6917M |
| 2026-01-15 02:55:26.32081725 UTC | 1801M | 6921M |
| 2026-01-15 02:55:27.320821502 UTC | 1795M | 6926M |
| 2026-01-15 02:55:28.320803985 UTC | 1792M | 6930M |
| 2026-01-15 02:55:29.320798592 UTC | 1788M | 6934M |
| 2026-01-15 02:55:30.320782678 UTC | 1787M | 6935M |
| 2026-01-15 02:55:31.320822856 UTC | 1786M | 6936M |
| 2026-01-15 02:55:32.320806771 UTC | 1782M | 6940M |
| 2026-01-15 02:55:33.320802252 UTC | 1781M | 6940M |
| 2026-01-15 02:55:34.320792895 UTC | 1781M | 6940M |
| 2026-01-15 02:55:35.320760531 UTC | 1782M | 6939M |
| 2026-01-15 02:55:36.320809472 UTC | 1782M | 6939M |
| 2026-01-15 02:55:37.320799411 UTC | 1783M | 6938M |
| 2026-01-15 02:55:38.320812193 UTC | 1783M | 6938M |
| 2026-01-15 02:55:39.320756666 UTC | 1783M | 6938M |
| 2026-01-15 02:55:40.320814474 UTC | 1783M | 6938M |
| 2026-01-15 02:55:41.320814245 UTC | 1783M | 6937M |
| 2026-01-15 02:55:42.32075853 UTC | 1783M | 6937M |
| 2026-01-15 02:55:43.320810866 UTC | 1785M | 6936M |
| 2026-01-15 02:55:44.320781252 UTC | 1785M | 6935M |
Three local nodes
| Number of nodes | 3 |
|---|---|
| Number of txs | 900 |
| Avg. Confirmation Time (ms) | 37.466590002 |
| P99 | 63.194437359999995ms |
| P95 | 56.24488655ms |
| P50 | 35.726133000000004ms |
| Number of Invalid txs | 0 |
Memory data
| Time | Used | Free |
|---|---|---|
| 2026-01-15 02:55:55.805231749 UTC | 1696M | 7062M |
| 2026-01-15 02:55:56.805224264 UTC | 1696M | 7062M |
| 2026-01-15 02:55:57.8050839 UTC | 1700M | 7058M |
| 2026-01-15 02:55:58.805197583 UTC | 1700M | 7058M |
| 2026-01-15 02:55:59.805101752 UTC | 1700M | 7058M |
| 2026-01-15 02:56:00.80518324 UTC | 1705M | 7052M |
| 2026-01-15 02:56:01.80521658 UTC | 1714M | 7043M |
| 2026-01-15 02:56:02.805300387 UTC | 1748M | 6981M |
| 2026-01-15 02:56:03.805356686 UTC | 1826M | 6875M |
| 2026-01-15 02:56:04.807076298 UTC | 1870M | 6803M |
| 2026-01-15 02:56:05.805312363 UTC | 1915M | 6758M |
| 2026-01-15 02:56:06.805798879 UTC | 1926M | 6746M |
| 2026-01-15 02:56:07.805582979 UTC | 1960M | 6703M |
| 2026-01-15 02:56:08.805274072 UTC | 1963M | 6689M |
| 2026-01-15 02:56:09.805632045 UTC | 1979M | 6662M |
| 2026-01-15 02:56:10.806794495 UTC | 1982M | 6648M |
| 2026-01-15 02:56:11.805413217 UTC | 1984M | 6637M |
| 2026-01-15 02:56:12.80539036 UTC | 1998M | 6617M |
| 2026-01-15 02:56:13.805500943 UTC | 2001M | 6606M |
| 2026-01-15 02:56:14.806932827 UTC | 2003M | 6597M |
| 2026-01-15 02:56:15.808541616 UTC | 2006M | 6587M |
| 2026-01-15 02:56:16.805892254 UTC | 2009M | 6575M |
| 2026-01-15 02:56:17.805300468 UTC | 2014M | 6560M |
| 2026-01-15 02:56:18.805470459 UTC | 2017M | 6553M |
| 2026-01-15 02:56:19.805316642 UTC | 2018M | 6551M |
| 2026-01-15 02:56:20.808098737 UTC | 2022M | 6547M |
| 2026-01-15 02:56:21.805290753 UTC | 2027M | 6542M |
| 2026-01-15 02:56:22.805279308 UTC | 2027M | 6542M |
| 2026-01-15 02:56:23.805367219 UTC | 2027M | 6542M |
| 2026-01-15 02:56:24.80532997 UTC | 2027M | 6542M |
| 2026-01-15 02:56:25.805408963 UTC | 2026M | 6542M |
| 2026-01-15 02:56:26.805314676 UTC | 2028M | 6540M |
| 2026-01-15 02:56:27.805269466 UTC | 2028M | 6540M |
| 2026-01-15 02:56:28.805297315 UTC | 2032M | 6536M |
| 2026-01-15 02:56:29.805253908 UTC | 2032M | 6535M |
| 2026-01-15 02:56:30.805375138 UTC | 2032M | 6535M |
| 2026-01-15 02:56:31.805322784 UTC | 2034M | 6533M |
| 2026-01-15 02:56:32.805308354 UTC | 2036M | 6531M |
| 2026-01-15 02:56:33.805266711 UTC | 2037M | 6530M |
| 2026-01-15 02:56:34.805363143 UTC | 2037M | 6530M |
| 2026-01-15 02:56:35.805314499 UTC | 2037M | 6530M |
| 2026-01-15 02:56:36.805339532 UTC | 2037M | 6529M |
| 2026-01-15 02:56:37.805270248 UTC | 2038M | 6527M |
| 2026-01-15 02:56:38.805369538 UTC | 2038M | 6527M |
| 2026-01-15 02:56:39.805220066 UTC | 2038M | 6527M |
| 2026-01-15 02:56:40.805279659 UTC | 2038M | 6527M |
| 2026-01-15 02:56:41.805248655 UTC | 2038M | 6527M |
| 2026-01-15 02:56:42.805238831 UTC | 2040M | 6525M |
This reduces the memory usage significantly (1.7 GB vs. 137 MB for the stress-test I was running)