Skip to content

V1.2.0 memory fix#1

Open
awcjack wants to merge 5 commits intov1.2.0-basefrom
v1.2.0-memory-fix
Open

V1.2.0 memory fix#1
awcjack wants to merge 5 commits intov1.2.0-basefrom
v1.2.0-memory-fix

Conversation

@awcjack
Copy link

@awcjack awcjack commented Jan 15, 2026


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

v0d1ch and others added 5 commits January 15, 2026 10:29
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
@github-actions
Copy link

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 2026-01-15 06:12:24.58800267 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial c8a101a5c8ac4816b0dceb59ce31fc2258e387de828f02961d2f2045 2652
νCommit 61458bc2f297fff3cc5df6ac7ab57cefd87763b0b7bd722146a1035c 685
νHead a1442faf26d4ec409e2f62a685c1d4893f8d6bcbaf7bcb59d6fa1340 14599
μHead fd173b993e12103cd734ca6710d364e17120a5eb37a224c64ab2b188* 5284
νDeposit ae01dade3a9c346d5c93ae3ce339412b90a0b8f83f94ec6baa24e30c 1102
  • 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 5837 10.74 3.42 0.52
2 6035 12.73 4.04 0.55
3 6238 14.71 4.65 0.58
5 6640 18.98 6.00 0.64
10 7644 29.00 9.14 0.79
43 14282 98.58 30.79 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 741 3.38 1.73 0.22
3 917 4.36 2.33 0.24
5 1282 6.41 3.60 0.28
10 2172 12.13 7.25 0.40
54 10042 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.27 9.87 0.53
3 169 747 41.49 11.99 0.60
4 227 858 51.15 14.72 0.71
5 281 969 62.47 17.83 0.83
6 338 1081 74.94 21.14 0.96
7 396 1192 77.88 22.23 0.99
8 450 1303 80.10 23.20 1.02
10 560 1525 97.28 28.23 1.21

Cost of Increment Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 1794 24.37 7.71 0.48
2 1928 25.51 8.70 0.50
3 2080 27.32 9.86 0.53
5 2363 31.04 12.25 0.59
10 2994 37.33 17.34 0.71
40 7589 97.20 53.99 1.66

Cost of Decrement Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 649 22.50 7.30 0.41
2 809 25.08 8.69 0.45
3 927 25.83 9.55 0.47
5 1368 31.06 12.33 0.55
10 2125 40.64 18.34 0.70
42 6499 93.66 54.42 1.59

Close transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 669 27.51 8.47 0.46
2 808 30.98 10.08 0.51
3 913 32.79 11.25 0.54
5 1296 35.04 13.25 0.59
10 2113 45.87 19.67 0.76
34 5864 96.01 49.78 1.54

Contest transaction costs

Parties Tx size % max Mem % max CPU Min fee ₳
1 675 33.79 10.15 0.53
2 861 36.52 11.59 0.57
3 987 38.63 12.83 0.60
5 1287 42.61 15.27 0.66
10 2083 54.61 21.98 0.84
28 4813 97.58 45.94 1.48

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 5813 27.05 9.07 0.69
2 5929 35.92 12.07 0.79
3 6242 46.78 15.83 0.92
4 6289 55.16 18.59 1.01
5 6448 61.74 20.80 1.08
6 6626 71.40 24.03 1.19
7 6684 82.02 27.58 1.31
8 6896 92.37 31.09 1.42
9 6789 96.21 32.27 1.46

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 5834 19.19 6.41 0.61
10 1 57 5868 21.22 7.21 0.63
10 20 1135 6509 61.05 22.89 1.09
10 30 1707 6853 80.04 30.46 1.32
10 40 2276 7192 98.77 37.94 1.54

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 06:15:59.663019404 UTC

Baseline Scenario

Number of nodes 1
Number of txs 300
Avg. Confirmation Time (ms) 5.291261416
P99 6.868286379999997ms
P95 6.2887427ms
P50 5.109885ms
Number of Invalid txs 0

Memory data

Time Used Free
2026-01-15 06:14:32.027366548 UTC 1713M 7183M
2026-01-15 06:14:33.02733684 UTC 1718M 7144M
2026-01-15 06:14:34.027300206 UTC 1737M 7125M
2026-01-15 06:14:35.027311251 UTC 1752M 7109M
2026-01-15 06:14:36.02727995 UTC 1809M 6976M
2026-01-15 06:14:37.027315436 UTC 1815M 6970M
2026-01-15 06:14:38.02737466 UTC 1826M 6955M
2026-01-15 06:14:39.027265037 UTC 1834M 6943M
2026-01-15 06:14:40.027224662 UTC 1833M 6943M
2026-01-15 06:14:41.027275381 UTC 1837M 6939M
2026-01-15 06:14:42.027304164 UTC 1838M 6938M
2026-01-15 06:14:43.027225374 UTC 1838M 6937M
2026-01-15 06:14:44.027320341 UTC 1838M 6937M
2026-01-15 06:14:45.027308936 UTC 1838M 6938M
2026-01-15 06:14:46.027304434 UTC 1835M 6940M
2026-01-15 06:14:47.027289783 UTC 1834M 6941M
2026-01-15 06:14:48.027288823 UTC 1834M 6941M
2026-01-15 06:14:49.027266512 UTC 1835M 6940M
2026-01-15 06:14:50.027283621 UTC 1835M 6940M
2026-01-15 06:14:51.027310075 UTC 1836M 6939M
2026-01-15 06:14:52.027292012 UTC 1836M 6939M
2026-01-15 06:14:53.02730193 UTC 1837M 6938M
2026-01-15 06:14:54.027289164 UTC 1837M 6938M
2026-01-15 06:14:55.027302343 UTC 1837M 6938M
2026-01-15 06:14:56.027285578 UTC 1837M 6937M
2026-01-15 06:14:57.027281621 UTC 1837M 6937M
2026-01-15 06:14:58.027281372 UTC 1838M 6936M
2026-01-15 06:14:59.027277256 UTC 1839M 6936M
2026-01-15 06:15:00.027287429 UTC 1839M 6936M
2026-01-15 06:15:01.027318699 UTC 1840M 6934M

Three local nodes

Number of nodes 3
Number of txs 900
Avg. Confirmation Time (ms) 33.549410044
P99 49.97978265ms
P95 43.527423999999996ms
P50 32.5620365ms
Number of Invalid txs 0

Memory data

Time Used Free
2026-01-15 06:15:12.808969079 UTC 1727M 7085M
2026-01-15 06:15:13.808848806 UTC 1727M 7085M
2026-01-15 06:15:14.808827688 UTC 1735M 7077M
2026-01-15 06:15:15.808844355 UTC 1739M 7073M
2026-01-15 06:15:16.808841438 UTC 1739M 7073M
2026-01-15 06:15:17.808890006 UTC 1745M 7066M
2026-01-15 06:15:18.808927393 UTC 1760M 7051M
2026-01-15 06:15:19.808815799 UTC 1797M 6986M
2026-01-15 06:15:20.809054331 UTC 1864M 6892M
2026-01-15 06:15:21.809249188 UTC 1923M 6804M
2026-01-15 06:15:22.809000723 UTC 1974M 6753M
2026-01-15 06:15:23.810106703 UTC 1982M 6745M
2026-01-15 06:15:24.81021743 UTC 2015M 6703M
2026-01-15 06:15:25.809556636 UTC 2023M 6685M
2026-01-15 06:15:26.809333726 UTC 2039M 6658M
2026-01-15 06:15:27.810515348 UTC 2043M 6643M
2026-01-15 06:15:28.80936024 UTC 2051M 6626M
2026-01-15 06:15:29.810092361 UTC 2061M 6606M
2026-01-15 06:15:30.81129198 UTC 2068M 6589M
2026-01-15 06:15:31.809056806 UTC 2076M 6571M
2026-01-15 06:15:32.809981991 UTC 2080M 6557M
2026-01-15 06:15:33.809049868 UTC 2083M 6543M
2026-01-15 06:15:34.81268968 UTC 2086M 6538M
2026-01-15 06:15:35.808995764 UTC 2087M 6537M
2026-01-15 06:15:36.809020677 UTC 2087M 6536M
2026-01-15 06:15:37.808856877 UTC 2088M 6535M
2026-01-15 06:15:38.808968431 UTC 2092M 6531M
2026-01-15 06:15:39.809071669 UTC 2095M 6528M
2026-01-15 06:15:40.809018482 UTC 2095M 6528M
2026-01-15 06:15:41.809008115 UTC 2094M 6528M
2026-01-15 06:15:42.80898852 UTC 2098M 6524M
2026-01-15 06:15:43.808924884 UTC 2098M 6524M
2026-01-15 06:15:44.809006313 UTC 2098M 6524M
2026-01-15 06:15:45.808997644 UTC 2098M 6523M
2026-01-15 06:15:46.809085882 UTC 2099M 6523M
2026-01-15 06:15:47.808999533 UTC 2099M 6523M
2026-01-15 06:15:48.809013738 UTC 2099M 6523M
2026-01-15 06:15:49.809171384 UTC 2100M 6521M
2026-01-15 06:15:50.8089741 UTC 2103M 6517M
2026-01-15 06:15:51.809012556 UTC 2103M 6517M
2026-01-15 06:15:52.809014336 UTC 2103M 6517M
2026-01-15 06:15:53.808948668 UTC 2103M 6517M
2026-01-15 06:15:54.809159906 UTC 2103M 6517M
2026-01-15 06:15:55.809072116 UTC 2104M 6516M
2026-01-15 06:15:56.808981148 UTC 2104M 6515M
2026-01-15 06:15:57.809010857 UTC 2107M 6512M
2026-01-15 06:15:58.808838779 UTC 2107M 6512M

@github-actions
Copy link

Transaction cost differences

No cost or size differences found

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.

2 participants