Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Update `vite-plus` to 0.2.6 after passing the complete cross-platform, template, packaging, and performance gates.
- Update `npm-registry-fetch` to 20.0.1 and `@npmcli/config` to 11.0.1 after isolated major-version verification.
- Measure the peer-solver benchmark as batched per-operation wall-clock time so isolated hosted-runner scheduling or garbage-collection pauses cannot create false regressions.

## [0.0.19] - 2026-08-02

Expand Down
14 changes: 10 additions & 4 deletions benchmarks/cli.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -58,13 +58,19 @@ function solverSample() {
const packuments = new Map(
occurrences.map(({ package: name }) => [name, { "dist-tags": { latest: "1.7.0" }, versions }]),
);
const solvesPerSample = 5;
const samples = [];
for (let index = 0; index < 12; index += 1) {
// Average a small batch so a single hosted-runner scheduling or GC pause
// cannot masquerade as a solver regression. The reported value remains
// wall-clock milliseconds per 100-package solve with the same 50 ms budget.
const started = performance.now();
const result = planUpdates({ occurrences, packuments, mode: "upgrade" });
if (result.summary.packages !== 100)
throw new Error("synthetic peer solver returned an incomplete plan");
if (index >= 2) samples.push(performance.now() - started);
for (let solve = 0; solve < solvesPerSample; solve += 1) {
const result = planUpdates({ occurrences, packuments, mode: "upgrade" });
if (result.summary.packages !== 100)
throw new Error("synthetic peer solver returned an incomplete plan");
}
if (index >= 2) samples.push((performance.now() - started) / solvesPerSample);
}
return samples;
}
Expand Down