Skip to content

ci: lock in compile speed with tighter guards and warm/edit comparisons - #944

Merged
kvlonge merged 2 commits into
mainfrom
ci/tighten-performance-guards
Oct 4, 2026
Merged

kvlonge merged 2 commits into
mainfrom
ci/tighten-performance-guards

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Why

The dense compile time budgets sat 2–3× above real CI times, and only cold compiles were compared against main, so much of the CHI-441 speed and memory work could erode without failing CI. Many small per-PR regressions could also accumulate between releases (CHI-495).

Changes

  • Dense time budgets set to ~1.35× the CI p90 of recent runs (e.g. cold 3k 45 → 25 s, cold 10k 145 → 77 s, warm 3k 22 → 11 s, edit 3k 24 → 12 s); memory limits 1k 800 MiB, 3k 1.5 GiB, 5k 2.25 GiB (10k unchanged).
  • The same-runner ratio job also compares warm and one-model-edit compiles with main (median of 3, max 1.10), and stops if a mode doesn't hit or miss the cache as intended.
  • The release check adds a one-model edit and dense 3000 warm, edit and uncached cold against the previous release (max 1.15× and 0.5 s), each side using its own generator.

Verification

…urements

Cold 1k/3k/5k/10k budgets drop to 13/25/42/77 s and the warm and one-model edit budgets to 11/12 s at 3k and 19/21 s at 5k, about 1.35x the p90 of the dense jobs since the native-analysis parallelism change. Peak RSS limits drop to 800 MiB at 1k, 1.5 GiB at 3k and 2.25 GiB at 5k, about 1.35x the CI maximum; 10k keeps 3.25 GiB.
…vious release

The same-runner ratio job now times cold, unchanged warm and one-model edit compiles of the dense and fresh 3000-model projects for base and head, each on its own generator's project, and fails any mode above 1.10x. Warm and edit reuse the cold project and verify that they hit and miss the analysis cache as intended.

The release comparison adds a one-model edit compile of the inspection benchmark and uncached, warm and one-model edit compiles of the dense 3000-model all-rules benchmark, which each version generates with its own generator. All six compile commands are held to a fixed 1.15x wall and CPU limit against the previous release.
@kvlonge
kvlonge enabled auto-merge (squash) October 4, 2026 14:36
@kvlonge
kvlonge merged commit 110e406 into main Oct 4, 2026
35 checks passed
@kvlonge
kvlonge deleted the ci/tighten-performance-guards branch October 4, 2026 14:57
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.

1 participant