Run the unit suite serially so the latency alarm measures the code - #3
Merged
Merged
Conversation
test/unit/livePreviewLatency.test.ts is a wall-clock smoke alarm, and in parallel workers it was measuring the runner instead. As the suite grew (200 -> 252 tests, 18 -> 20 files) its readings inflated ~2x over an isolated run and crossed the 10ms budget on CI: 28k words went 7.53ms -> 10.22ms while the 11k Chapter stayed put at ~5.2ms, and in the run before that the 11k reading came out *above* the 28k one. That ordering is OS scheduling, not work. The keystroke path itself is unchanged: measured against v0.1.4 in a worktree, three runs each, both come out at 1.2ms / 2.5ms. fileParallelism: false brings the suite readings back to the isolated ones, so the budget keeps its headroom as the suite keeps growing — a per-commit signal has to be a function of the code (ADR 0002). The suite goes from ~1s to ~3s, which on a 2-vCPU runner was most of what the parallelism bought anyway. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014tVskosxYA2hp9GRQxnTAx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
test/unit/livePreviewLatency.test.ts is a wall-clock smoke alarm, and in parallel workers it was measuring the runner instead. As the suite grew (200 -> 252 tests, 18 -> 20 files) its readings inflated ~2x over an
isolated run and crossed the 10ms budget on CI: 28k words went 7.53ms ->
10.22ms while the 11k Chapter stayed put at ~5.2ms, and in the run before that the 11k reading came out above the 28k one. That ordering is OS scheduling, not work.
The keystroke path itself is unchanged: measured against v0.1.4 in a worktree, three runs each, both come out at 1.2ms / 2.5ms.
fileParallelism: false brings the suite readings back to the isolated ones, so the budget keeps its headroom as the suite keeps growing — a per-commit signal has to be a function of the code (ADR 0002). The suite goes from ~1s to ~3s, which on a 2-vCPU runner was most of what the parallelism bought anyway.
Claude-Session: https://claude.ai/code/session_014tVskosxYA2hp9GRQxnTAx