Skip to content

docs: qualify the test-suite speedup — 2.6x was an idle-machine number - #74

Merged
cfdude merged 1 commit into
mainfrom
dev
Jul 30, 2026
Merged

docs: qualify the test-suite speedup — 2.6x was an idle-machine number#74
cfdude merged 1 commit into
mainfrom
dev

Conversation

@cfdude

@cfdude cfdude commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Correction to a performance claim I published in 0.24.0's changelog, PR #72, and on pm-plugin.dev.

"~118s to ~46s" is reproducible, but only on an otherwise-idle 16-core workstation. Presenting it without conditions overstates what most readers will see.

Measured across three environments on this project:

Environment Serial Parallel Speedup
Idle 16-core workstation 118s 46s 2.6×
Same machine, load ~12 146s 122s 1.2×
CI (whole workflow) ~55s ~42s ~1.3×

Parallel execution is exactly what degrades when cores are already contended, so the benefit largely evaporates on a busy laptop or a few-core runner — which is what CI is. A contributor reading "2.6×" and measuring 1.2× would reasonably conclude the claim was inflated.

This also broke the project's own performance-reporting rule: report wall-clock with its conditions, never a bare headline number.

How I got it wrong: I measured the original 46s three times and it was real — but later saw the same suite take 685s and then 122s while other work was running on the machine. A benchmark taken on a busy machine is not a benchmark, and I never re-measured after the test count grew 255 → 282 (several additions perform extra commits per test, and this suite is subprocess-bound).

The structural claims are unchanged and still verifiable: 11 files, 676 engine spawns at ~73ms each, node --test parallelizes across files only, split verified by test-name-set equality.

The matching pm-plugin.dev changelog entry is updated in the same cycle.

https://claude.ai/code/session_01WBqyLnBbYEi5hp2noc3cMC

…umber

I published "~118s to ~46s" in the changelog, the PR, and on pm-plugin.dev. It is
reproducible, but only on an otherwise-idle 16-core workstation, and presenting it
without conditions overstates what most readers will see.

Measured across three environments:

  idle 16-core workstation   118s -> 46s    2.6x
  same machine, load ~12     146s -> 122s   1.2x
  CI (whole workflow)        ~55s -> ~42s   ~1.3x

Parallel execution is precisely what degrades when cores are already contended, so
the benefit largely evaporates on a busy laptop or a few-core runner -- which is
what CI is. A contributor reading "2.6x" and seeing 1.2x would reasonably conclude
the claim was inflated.

This also violated the project's own performance-reporting rule: report wall-clock
WITH its conditions, never a bare headline number. Corrected to give the range and
say plainly that it depends on free cores.

Method note on how I got this wrong: I measured the original 46s three times, but
while other work was running I later saw the same suite take 685s and then 122s. A
benchmark taken while the machine is busy is not a benchmark, and I never re-measured
after the test count grew 255 -> 282.

Claude-Session: https://claude.ai/code/session_01WBqyLnBbYEi5hp2noc3cMC
@cfdude
cfdude merged commit 0f801c7 into main Jul 30, 2026
7 checks passed
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