Skip to content

M2: performance budgets that hold on CI machines - #14

Merged
Erry91 merged 1 commit into
mainfrom
fix/ci-timing-budget
Oct 25, 2026
Merged

Erry91 merged 1 commit into
mainfrom
fix/ci-timing-budget

Conversation

@Erry91

@Erry91 Erry91 commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

What this changes

M2's performance test requires 100 luminaires × 10,000 points in under 100 ms. That takes about 55 ms on a developer's machine, but 53 to 101 ms on GitHub's Linux runners, varying from run to run, so the test failed at random on PRs that did not touch the engine: #13 failed twice at 101.0 and 101.5 ms, then passed.

  • Where the CI environment variable is set (GitHub Actions sets it), each budget is doubled (CI_FACTOR = 2). The test stays meaningful there, because a real slowdown of twice or more still fails. The budgets on a developer's machine are unchanged: 100 ms and 500 ms.
  • cargo xtask ci runs the performance tests with --nocapture, so the timings are printed even when they pass. A budget that is nearly reached now shows in every log, instead of only when it fails.

How you verified it

  • cargo xtask ci (timings printed: 55 ms and 101 ms here)
  • With CI=true and the case's budget cut to 20 ms, the test fails with "54.8 ms is over the 40ms budget": it still fails under CI, at twice the budget
  • Requirement checks: not applicable

Life safety (AGENTS.md §2)

  • No change to what is calculated or reported

Never panic (AGENTS.md §3)

  • Test-only change

Provenance (AGENTS.md §1)

  • Nothing from standards or closed tools

Records

  • ROADMAP.md progress log. No parity entry changes

🤖 Generated with Claude Code

GitHub's Linux runners took 101 ms for M2's 100 ms case (55 ms on a
developer's machine) and failed it at random, on PRs that did not touch
the engine. Where `CI` is set, each budget is doubled: a real slowdown of
twice or more still fails there. `cargo xtask ci` now prints the timings
even when they pass, so a budget nearly reached shows in every log.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Erry91
Erry91 force-pushed the fix/ci-timing-budget branch from 3e95903 to 1fd0051 Compare October 25, 2026 20:01
@Erry91
Erry91 merged commit 5cdd865 into main Oct 25, 2026
4 checks passed
@Erry91
Erry91 deleted the fix/ci-timing-budget branch October 25, 2026 20:03
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