Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4fcfddb

Browse files
authored
ci(memory): widen test_memory_json_churn RSS budget for #1090 GC rework (#1286)
Ubuntu CI on tag v0.5.1019 (run 26236443275) had 3 of 4 GC modes blow the existing 250 MB / 275 MB ceilings on test_memory_json_churn: default 268 MB / limit 250 MB (+7%) gen-gc-explicit 268 MB / limit 250 MB (+7%) mark-sweep 114 MB / limit 250 MB (OK) force-evac+verify 290 MB / limit 275 MB (+5%) Locally on macOS arm64 (2026-05-21, /usr/bin/time -l on M-series): default 241 MB mark-sweep 91 MB force-evac+verify 263 MB All within budget. The consistent ~28 MB Linux-over-macOS gap is the same Linux glibc allocator + RSS-accounting shape that prompted Ralph's prior 200→250 bump in f95ef05. The remaining drift is GC-rework working-set that #1090 ("GC roadmap: make minor GC structurally cheap") will reclaim once it lands. Bumping to 290 / 315 (~8% headroom over current observed values) gets CI green and unblocks releases while #1090 is in flight. Comment on the run_test call points future-us at the issue so the limit gets tightened when the rework closes. Refs #1090.
1 parent 2ab987c commit 4fcfddb

1 file changed

Lines changed: 9 additions & 8 deletions

File tree

scripts/run_memory_stability_tests.sh

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1550,14 +1550,15 @@ echo "=== Memory-leak regression tests (RSS plateau under sustained alloc) ==="
15501550
# Limits ~50-70% above measured baseline on macOS arm64. CI runners
15511551
# may differ slightly; loosen a limit here rather than in the .ts.
15521552
run_test test-files/test_memory_long_lived_loop.ts 100 "done, lastId=199999"
1553-
# JSON churn stays at 250 MB for default/mark-sweep/gen-gc. On macOS
1554-
# arm64, force-evac+verify has a stable tape+verifier high-water after
1555-
# tape scratch/key-cache cleanup: default/gen-gc 240 MB, mark-sweep 90 MB,
1556-
# force-evac+verify 262 MB, verifier direct parse (PERRY_JSON_TAPE=0)
1557-
# 189 MB, forced tape 261 MB. Trace stayed in copied-minor mode with
1558-
# fallback_reason=none, conservative pins=0, copy-only roots/bytes=0, and
1559-
# old-page allocated/live/reusable/returned bytes=0.
1560-
run_test test-files/test_memory_json_churn.ts 250 "done, checksum=637747500" 275
1553+
# JSON churn — temporarily widened to 290 MB / 315 MB for the GC rework
1554+
# tracked under #1090 (`GC roadmap: make minor GC structurally cheap`).
1555+
# Observed v0.5.1019 Ubuntu CI: default 268 MB, gen-gc 268 MB, mark-sweep
1556+
# 114 MB, force-evac+verify 290 MB — consistently ~28 MB above macOS arm64
1557+
# baselines (default 241 MB / mark-sweep 91 MB / force-evac 263 MB measured
1558+
# 2026-05-21 on M-series). The Linux glibc allocator + page-size accounting
1559+
# explain most of that gap; the rest is GC-rework working-set drift that
1560+
# will be reclaimed once #1090 lands. Revisit + tighten when #1090 closes.
1561+
run_test test-files/test_memory_json_churn.ts 290 "done, checksum=637747500" 315
15611562
run_test test-files/test_memory_string_churn.ts 100 "done, total=9577780"
15621563
run_test test-files/test_memory_closure_churn.ts 50 "done, sum=15004649874"
15631564

0 commit comments

Comments
 (0)