From da51a20a8c1e93b61c3b5bfcbe294df08ba4dbee Mon Sep 17 00:00:00 2001 From: vltbaudbot <264001112+vltbaudbot@users.noreply.github.com> Date: Mon, 5 Oct 2026 21:44:31 +0000 Subject: [PATCH 1/3] fix: show per-date package manager versions in history chart tooltip The history chart tooltip previously showed the latest (today's) versions for all package managers regardless of which data point was being hovered. This was misleading since older data points were benchmarked against different versions. Changes: - Add versionsByDate to HistoryData type, keyed by YYYY-MM-DD - Extract versions from each day's chart-data.json in useHistoryData - Update HistoryChart tooltip formatter to look up versions for the hovered data point's date, falling back to current versions when historical version data is unavailable (older data points) - Legend continues to show current (latest) versions since it is not associated with a specific historical date --- app/src/components/history-chart.tsx | 52 ++++++++++++++++++---------- app/src/hooks/use-history-data.ts | 12 +++++-- app/src/types/history.ts | 4 +++ 3 files changed, 48 insertions(+), 20 deletions(-) diff --git a/app/src/components/history-chart.tsx b/app/src/components/history-chart.tsx index 305f5c8f42..33b2a3140a 100644 --- a/app/src/components/history-chart.tsx +++ b/app/src/components/history-chart.tsx @@ -283,24 +283,40 @@ export const HistoryChart = ({ return String(label); } }} - formatter={(value, name, item) => ( -
- - - {name} - - - {typeof value === "number" - ? isPerPackageVariation - ? `${value.toFixed(1)} ms/pkg` - : `${value.toFixed(2)}s` - : String(value)} - -
- )} + formatter={(value, _name, item) => { + // Resolve the PM key from the dataKey (e.g. "npm", "vlt") + const pmKey = item.dataKey as PackageManager; + // Look up the versions for the hovered date + const pointDate = item.payload?.date as string | undefined; + const dateVersions = pointDate + ? historyData.versionsByDate[pointDate] + : undefined; + // Fall back to current versions when historical versions + // are unavailable (older data points) + const displayLabel = formatPackageManagerLabel( + pmKey, + dateVersions ?? chartData.versions, + { isRegistryVariation: isRegistry }, + ); + return ( +
+ + + {displayLabel} + + + {typeof value === "number" + ? isPerPackageVariation + ? `${value.toFixed(1)} ms/pkg` + : `${value.toFixed(2)}s` + : String(value)} + +
+ ); + }} /> } /> diff --git a/app/src/hooks/use-history-data.ts b/app/src/hooks/use-history-data.ts index b546583e9c..5e190433bb 100644 --- a/app/src/hooks/use-history-data.ts +++ b/app/src/hooks/use-history-data.ts @@ -1,5 +1,6 @@ import { useState, useEffect } from "react"; import type { HistoryData, HistoryVariation } from "@/types/history"; +import type { PackageManagerVersions } from "@/types/chart-data"; /** Max days to attempt fetching (generates date strings, 404s are skipped) */ const MAX_DAYS = 180; @@ -62,7 +63,9 @@ async function parallelLimit( } } - await Promise.all(Array.from({ length: Math.min(limit, tasks.length) }, worker)); + await Promise.all( + Array.from({ length: Math.min(limit, tasks.length) }, worker), + ); return results; } @@ -93,6 +96,7 @@ interface ChartDataResponse { data: FixtureDataSet; packageManagers: string[]; }; + versions?: PackageManagerVersions; } /** @@ -212,6 +216,7 @@ export const useHistoryData = (): UseHistoryDataReturn => { string, Record> >(); + const versionsByDate: Record = {}; for (const { date, data } of successfulResults) { const dayData = extractDayData(data); @@ -219,6 +224,9 @@ export const useHistoryData = (): UseHistoryDataReturn => { for (const variation of Object.keys(dayData)) { allVariations.add(variation); } + if (data.versions && Object.keys(data.versions).length > 0) { + versionsByDate[date] = data.versions; + } } const dates = successfulResults.map((r) => r.date); @@ -303,7 +311,7 @@ export const useHistoryData = (): UseHistoryDataReturn => { "run", ]); - setHistoryData({ dates, variations }); + setHistoryData({ dates, variations, versionsByDate }); } catch (e) { const msg = e instanceof Error ? e.message : "Unknown error"; console.warn("History data not available:", msg); diff --git a/app/src/types/history.ts b/app/src/types/history.ts index ba84484c18..80077fa8bb 100644 --- a/app/src/types/history.ts +++ b/app/src/types/history.ts @@ -1,8 +1,12 @@ +import type { PackageManagerVersions } from "@/types/chart-data"; + export type HistoryVariation = Record; export interface HistoryData { dates: string[]; variations: Record; + /** Package-manager versions keyed by date (YYYY-MM-DD). */ + versionsByDate: Record; } export interface HistoryDataPoint { From 8f8d04997246e3177f8d692e33b86512556ec404 Mon Sep 17 00:00:00 2001 From: vltbaudbot <264001112+vltbaudbot@users.noreply.github.com> Date: Tue, 6 Oct 2026 00:57:45 +0000 Subject: [PATCH 2/3] fix: rename pacquet display name from 'pnpm (v12)' to 'pacquet' Now that pnpm v12 IS the main pnpm release, labeling pacquet as 'pnpm (v12)' is confusing. The pnpm line already shows the correct version (v12.x) via the per-date tooltip. Pacquet should display under its own name for the historical data where it was tracked separately as the Rust rewrite. --- app/src/lib/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/lib/utils.ts b/app/src/lib/utils.ts index 08b15d9e92..1d22e771c2 100644 --- a/app/src/lib/utils.ts +++ b/app/src/lib/utils.ts @@ -532,7 +532,7 @@ export function getPackageManagerDisplayName( if (packageManager === "jfrog") return "jfrog.io"; } if (packageManager === "pnpm") return "pnpm"; - if (packageManager === "pacquet") return "pnpm (v12)"; + if (packageManager === "pacquet") return "pacquet"; if (packageManager === "berry") return "yarn (berry)"; if (packageManager === "zpm") return "yarn (zpm)"; if (packageManager === "turbo") return "turborepo"; From 76185439d17c63f1ccb2f85755bb2af998c8d930 Mon Sep 17 00:00:00 2001 From: vltbaudbot <264001112+vltbaudbot@users.noreply.github.com> Date: Tue, 6 Oct 2026 01:06:48 +0000 Subject: [PATCH 3/3] chore: remove pacquet from benchmark matrix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pnpm@latest is now v12 (the Rust/pacquet engine), so benchmarking pacquet separately is redundant — both binaries produce identical results. Removed: - pnpm@next-12 install from setup.sh - pacquet from BENCH_INCLUDE default and all variation scripts - BENCH_COMMAND_PACQUET, BENCH_INSTALL_PACQUET, BENCH_SETUP_PACQUET and related variables from common.sh, ci.sh, ci+setup.sh, build.sh, build-cache.sh, run.sh, and all simple install variations Preserved: - pacquet in the app's PackageManager type, history data hook, chart colors, and display name so historical pacquet data on gh-pages continues to render correctly with its own line/color - pacquet entries in collect-package-count.js, collect-process-count.js, package-count.sh (harmless no-ops when no pacquet files exist) - clean-helpers.sh pacquet cache cleanup (harmless no-op) --- scripts/setup.sh | 11 +---------- scripts/variations/build-cache.sh | 6 ------ scripts/variations/build.sh | 5 ----- .../variations/cache+lockfile+node_modules.sh | 2 -- scripts/variations/cache+lockfile.sh | 2 -- scripts/variations/cache+node_modules.sh | 2 -- scripts/variations/cache.sh | 2 -- scripts/variations/ci+setup.sh | 16 +--------------- scripts/variations/ci.sh | 6 ------ scripts/variations/clean.sh | 2 -- scripts/variations/common.sh | 14 ++++---------- scripts/variations/lockfile+node_modules.sh | 2 -- scripts/variations/lockfile.sh | 2 -- scripts/variations/node_modules.sh | 2 -- scripts/variations/run.sh | 5 ----- 15 files changed, 6 insertions(+), 73 deletions(-) diff --git a/scripts/setup.sh b/scripts/setup.sh index 250d55220d..4b03311246 100644 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -50,12 +50,6 @@ npm install -g --allow-scripts=bun,deno,nx npm@latest corepack@latest vlt@latest # Install Vite+ (vp) via npm (available as the `vite-plus` package) npm install -g vite-plus@latest -# Install pnpm 12 alpha (pacquet engine) to a dedicated prefix so it doesn't -# conflict with the corepack-managed pnpm@latest used by the pnpm benchmark. -# npm 12 blocks dependency lifecycle scripts by default, but pnpm's preinstall -# replaces its placeholder launcher with the platform-specific native binary. -npm install --global pnpm@next-12 --prefix /tmp/pnpm12 --allow-scripts=pnpm - # Install aube via npm (available as the `@endevco/aube` package). # npm 12 blocks dependency lifecycle scripts by default, but aube's preinstall # selects and installs its platform-specific native binary. Allow only aube's @@ -74,7 +68,7 @@ npm install -g upm@latest if ! command -v aube &>/dev/null; then echo "Warning: aube binary not available after installation — excluding from benchmarks" if [ -n "${GITHUB_ENV:-}" ]; then - BENCH_INCLUDE="${BENCH_INCLUDE:-npm,yarn,berry,zpm,pnpm,pacquet,vlt,bun,deno,aube,upm,nx,turbo,vp,node}" + BENCH_INCLUDE="${BENCH_INCLUDE:-npm,yarn,berry,zpm,pnpm,vlt,bun,deno,aube,upm,nx,turbo,vp,node}" BENCH_INCLUDE="${BENCH_INCLUDE//,aube/}" BENCH_INCLUDE="${BENCH_INCLUDE//aube,/}" echo "BENCH_INCLUDE=$BENCH_INCLUDE" >> "$GITHUB_ENV" @@ -102,7 +96,6 @@ YARN_VERSION="$(corepack yarn@1 -v)" BERRY_VERSION="$(corepack yarn@latest -v)" ZPM_VERSION="${BENCH_ZPM_VERSION:-$(curl -fsSL https://repo.yarnpkg.com/channels/default/canary)}" PNPM_VERSION="$(corepack pnpm@latest -v)" -PACQUET_VERSION="$(/tmp/pnpm12/bin/pnpm --version)" BUN_VERSION="$(bun -v)" DENO_VERSION="$(npm view deno@latest version)" NX_VERSION="$(npm view nx@latest version)" @@ -119,7 +112,6 @@ echo "yarn: $YARN_VERSION" echo "yarn (berry): $BERRY_VERSION" echo "yarn (zpm): $ZPM_VERSION" echo "pnpm: $PNPM_VERSION" -echo "pacquet: $PACQUET_VERSION" echo "bun: $BUN_VERSION" echo "deno: $DENO_VERSION" echo "nx: $NX_VERSION" @@ -137,7 +129,6 @@ echo "{ \"berry\": \"$BERRY_VERSION\", \"zpm\": \"$ZPM_VERSION\", \"pnpm\": \"$PNPM_VERSION\", - \"pacquet\": \"$PACQUET_VERSION\", \"bun\": \"$BUN_VERSION\", \"deno\": \"$DENO_VERSION\", \"nx\": \"$NX_VERSION\", diff --git a/scripts/variations/build-cache.sh b/scripts/variations/build-cache.sh index 016c16d032..749b3ac908 100644 --- a/scripts/variations/build-cache.sh +++ b/scripts/variations/build-cache.sh @@ -15,7 +15,6 @@ BENCH_INSTALL_COMMAND_YARN="${BENCH_COMMAND_YARN//\$\{HYPERFINE_ITERATION\}/buil BENCH_INSTALL_COMMAND_BERRY="${BENCH_COMMAND_BERRY//\$\{HYPERFINE_ITERATION\}/build-cache}" BENCH_INSTALL_COMMAND_ZPM="${BENCH_COMMAND_ZPM//\$\{HYPERFINE_ITERATION\}/build-cache}" BENCH_INSTALL_COMMAND_PNPM="${BENCH_COMMAND_PNPM//\$\{HYPERFINE_ITERATION\}/build-cache}" -BENCH_INSTALL_COMMAND_PACQUET="${BENCH_COMMAND_PACQUET//\$\{HYPERFINE_ITERATION\}/build-cache}" BENCH_INSTALL_COMMAND_VLT="${BENCH_COMMAND_VLT//\$\{HYPERFINE_ITERATION\}/build-cache}" BENCH_INSTALL_COMMAND_BUN="${BENCH_COMMAND_BUN//\$\{HYPERFINE_ITERATION\}/build-cache}" BENCH_INSTALL_COMMAND_DENO="${BENCH_COMMAND_DENO//\$\{HYPERFINE_ITERATION\}/build-cache}" @@ -27,7 +26,6 @@ BENCH_INSTALL_PREPARE_YARN="$(prepend_setup "$BENCH_INSTALL_COMMAND_YARN" "$BENC BENCH_INSTALL_PREPARE_BERRY="$(prepend_setup "$BENCH_INSTALL_COMMAND_BERRY" "$BENCH_SETUP_BERRY")" BENCH_INSTALL_PREPARE_ZPM="$(prepend_setup "$BENCH_INSTALL_COMMAND_ZPM" "$BENCH_SETUP_ZPM")" BENCH_INSTALL_PREPARE_PNPM="$(prepend_setup "$BENCH_INSTALL_COMMAND_PNPM" "$BENCH_SETUP_PNPM")" -BENCH_INSTALL_PREPARE_PACQUET="$(prepend_setup "$BENCH_INSTALL_COMMAND_PACQUET" "$BENCH_SETUP_PACQUET")" BENCH_INSTALL_PREPARE_VLT="$(prepend_setup "$BENCH_INSTALL_COMMAND_VLT" "$BENCH_SETUP_VLT")" BENCH_INSTALL_PREPARE_BUN="$(prepend_setup "$BENCH_INSTALL_COMMAND_BUN" "$BENCH_SETUP_BUN")" BENCH_INSTALL_PREPARE_DENO="$(prepend_setup "$BENCH_INSTALL_COMMAND_DENO" "$BENCH_SETUP_DENO")" @@ -40,7 +38,6 @@ BENCH_WARM_BUILD_YARN="timeout $BENCH_TIMEOUT corepack yarn@1 run build > $BENCH BENCH_WARM_BUILD_BERRY="timeout $BENCH_TIMEOUT corepack yarn@latest run build > $BENCH_OUTPUT_FOLDER/berry-warm-build-output.log 2>&1" BENCH_WARM_BUILD_ZPM="timeout $BENCH_TIMEOUT yarn run build > $BENCH_OUTPUT_FOLDER/zpm-warm-build-output.log 2>&1" BENCH_WARM_BUILD_PNPM="timeout $BENCH_TIMEOUT corepack pnpm@latest run build > $BENCH_OUTPUT_FOLDER/pnpm-warm-build-output.log 2>&1" -BENCH_WARM_BUILD_PACQUET="timeout $BENCH_TIMEOUT /tmp/pnpm12/bin/pnpm run build > $BENCH_OUTPUT_FOLDER/pacquet-warm-build-output.log 2>&1" BENCH_WARM_BUILD_VLT="timeout $BENCH_TIMEOUT vlt run build --view=human > $BENCH_OUTPUT_FOLDER/vlt-warm-build-output.log 2>&1" BENCH_WARM_BUILD_BUN="timeout $BENCH_TIMEOUT bun run build > $BENCH_OUTPUT_FOLDER/bun-warm-build-output.log 2>&1" BENCH_WARM_BUILD_DENO="timeout $BENCH_TIMEOUT deno run build > $BENCH_OUTPUT_FOLDER/deno-warm-build-output.log 2>&1" @@ -56,7 +53,6 @@ BENCH_COMMAND_YARN="timeout $BENCH_TIMEOUT corepack yarn@1 run build > $BENCH_OU BENCH_COMMAND_BERRY="timeout $BENCH_TIMEOUT corepack yarn@latest run build > $BENCH_OUTPUT_FOLDER/berry-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_ZPM="timeout $BENCH_TIMEOUT yarn run build > $BENCH_OUTPUT_FOLDER/zpm-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_PNPM="timeout $BENCH_TIMEOUT corepack pnpm@latest run build > $BENCH_OUTPUT_FOLDER/pnpm-build-output-\${HYPERFINE_ITERATION}.log 2>&1" -BENCH_COMMAND_PACQUET="timeout $BENCH_TIMEOUT /tmp/pnpm12/bin/pnpm run build > $BENCH_OUTPUT_FOLDER/pacquet-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_VLT="timeout $BENCH_TIMEOUT vlt run build --view=human > $BENCH_OUTPUT_FOLDER/vlt-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_BUN="timeout $BENCH_TIMEOUT bun run build > $BENCH_OUTPUT_FOLDER/bun-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_DENO="timeout $BENCH_TIMEOUT deno run build > $BENCH_OUTPUT_FOLDER/deno-build-output-\${HYPERFINE_ITERATION}.log 2>&1" @@ -85,8 +81,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$BENCH_INSTALL_PREPARE_PNPM || true; bash $BENCH_SCRIPTS/clean-helpers.sh clean_build_output; $BENCH_WARM_BUILD_PNPM || true"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$BENCH_INSTALL_PREPARE_PACQUET || true; bash $BENCH_SCRIPTS/clean-helpers.sh clean_build_output; $BENCH_WARM_BUILD_PACQUET || true"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$BENCH_INSTALL_PREPARE_VLT || true; bash $BENCH_SCRIPTS/clean-helpers.sh clean_build_output; $BENCH_WARM_BUILD_VLT || true"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$BENCH_INSTALL_PREPARE_BUN || true; bash $BENCH_SCRIPTS/clean-helpers.sh clean_build_output; $BENCH_WARM_BUILD_BUN || true"} \ diff --git a/scripts/variations/build.sh b/scripts/variations/build.sh index d158fdc4a2..636d91b333 100644 --- a/scripts/variations/build.sh +++ b/scripts/variations/build.sh @@ -15,7 +15,6 @@ BENCH_INSTALL_COMMAND_YARN="${BENCH_COMMAND_YARN//\$\{HYPERFINE_ITERATION\}/buil BENCH_INSTALL_COMMAND_BERRY="${BENCH_COMMAND_BERRY//\$\{HYPERFINE_ITERATION\}/build}" BENCH_INSTALL_COMMAND_ZPM="${BENCH_COMMAND_ZPM//\$\{HYPERFINE_ITERATION\}/build}" BENCH_INSTALL_COMMAND_PNPM="${BENCH_COMMAND_PNPM//\$\{HYPERFINE_ITERATION\}/build}" -BENCH_INSTALL_COMMAND_PACQUET="${BENCH_COMMAND_PACQUET//\$\{HYPERFINE_ITERATION\}/build}" BENCH_INSTALL_COMMAND_VLT="${BENCH_COMMAND_VLT//\$\{HYPERFINE_ITERATION\}/build}" BENCH_INSTALL_COMMAND_BUN="${BENCH_COMMAND_BUN//\$\{HYPERFINE_ITERATION\}/build}" BENCH_INSTALL_COMMAND_DENO="${BENCH_COMMAND_DENO//\$\{HYPERFINE_ITERATION\}/build}" @@ -27,7 +26,6 @@ BENCH_INSTALL_PREPARE_YARN="$(prepend_setup "$BENCH_INSTALL_COMMAND_YARN" "$BENC BENCH_INSTALL_PREPARE_BERRY="$(prepend_setup "$BENCH_INSTALL_COMMAND_BERRY" "$BENCH_SETUP_BERRY")" BENCH_INSTALL_PREPARE_ZPM="$(prepend_setup "$BENCH_INSTALL_COMMAND_ZPM" "$BENCH_SETUP_ZPM")" BENCH_INSTALL_PREPARE_PNPM="$(prepend_setup "$BENCH_INSTALL_COMMAND_PNPM" "$BENCH_SETUP_PNPM")" -BENCH_INSTALL_PREPARE_PACQUET="$(prepend_setup "$BENCH_INSTALL_COMMAND_PACQUET" "$BENCH_SETUP_PACQUET")" BENCH_INSTALL_PREPARE_VLT="$(prepend_setup "$BENCH_INSTALL_COMMAND_VLT" "$BENCH_SETUP_VLT")" BENCH_INSTALL_PREPARE_BUN="$(prepend_setup "$BENCH_INSTALL_COMMAND_BUN" "$BENCH_SETUP_BUN")" BENCH_INSTALL_PREPARE_DENO="$(prepend_setup "$BENCH_INSTALL_COMMAND_DENO" "$BENCH_SETUP_DENO")" @@ -41,7 +39,6 @@ BENCH_COMMAND_YARN="timeout $BENCH_TIMEOUT corepack yarn@1 run build > $BENCH_OU BENCH_COMMAND_BERRY="timeout $BENCH_TIMEOUT corepack yarn@latest run build > $BENCH_OUTPUT_FOLDER/berry-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_ZPM="timeout $BENCH_TIMEOUT yarn run build > $BENCH_OUTPUT_FOLDER/zpm-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_PNPM="timeout $BENCH_TIMEOUT corepack pnpm@latest run build > $BENCH_OUTPUT_FOLDER/pnpm-build-output-\${HYPERFINE_ITERATION}.log 2>&1" -BENCH_COMMAND_PACQUET="timeout $BENCH_TIMEOUT /tmp/pnpm12/bin/pnpm run build > $BENCH_OUTPUT_FOLDER/pacquet-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_VLT="timeout $BENCH_TIMEOUT vlt run build --view=human > $BENCH_OUTPUT_FOLDER/vlt-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_BUN="timeout $BENCH_TIMEOUT bun run build > $BENCH_OUTPUT_FOLDER/bun-build-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_DENO="timeout $BENCH_TIMEOUT deno run build > $BENCH_OUTPUT_FOLDER/deno-build-output-\${HYPERFINE_ITERATION}.log 2>&1" @@ -71,8 +68,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$BENCH_INSTALL_PREPARE_PNPM; bash $BENCH_SCRIPTS/clean-helpers.sh clean_build_output"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$BENCH_INSTALL_PREPARE_PACQUET; bash $BENCH_SCRIPTS/clean-helpers.sh clean_build_output"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$BENCH_INSTALL_PREPARE_VLT; bash $BENCH_SCRIPTS/clean-helpers.sh clean_build_output"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$BENCH_INSTALL_PREPARE_BUN; bash $BENCH_SCRIPTS/clean-helpers.sh clean_build_output"} \ diff --git a/scripts/variations/cache+lockfile+node_modules.sh b/scripts/variations/cache+lockfile+node_modules.sh index 16ee6e0c67..b6724138dc 100644 --- a/scripts/variations/cache+lockfile+node_modules.sh +++ b/scripts/variations/cache+lockfile+node_modules.sh @@ -28,8 +28,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PNPM")"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PACQUET")"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_VLT")"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_BUN")"} \ diff --git a/scripts/variations/cache+lockfile.sh b/scripts/variations/cache+lockfile.sh index 665905c3c5..a7222dd91f 100644 --- a/scripts/variations/cache+lockfile.sh +++ b/scripts/variations/cache+lockfile.sh @@ -28,8 +28,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PNPM")"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PACQUET")"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_VLT")"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_BUN")"} \ diff --git a/scripts/variations/cache+node_modules.sh b/scripts/variations/cache+node_modules.sh index b009d3ac93..48dee01e2c 100644 --- a/scripts/variations/cache+node_modules.sh +++ b/scripts/variations/cache+node_modules.sh @@ -28,8 +28,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PNPM")"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PACQUET")"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_VLT")"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_BUN")"} \ diff --git a/scripts/variations/cache.sh b/scripts/variations/cache.sh index 62f361e251..b2fc9f855f 100644 --- a/scripts/variations/cache.sh +++ b/scripts/variations/cache.sh @@ -28,8 +28,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PNPM")"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PACQUET")"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_VLT")"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_BUN")"} \ diff --git a/scripts/variations/ci+setup.sh b/scripts/variations/ci+setup.sh index 6eb71120a8..2e4ec0bf78 100644 --- a/scripts/variations/ci+setup.sh +++ b/scripts/variations/ci+setup.sh @@ -38,9 +38,6 @@ SETUP_INSTALL_BERRY="" # corepack auto-downloads on first invocation # zpm is installed via the Yarn Switch installer (same as setup.sh) SETUP_INSTALL_ZPM="curl -sS https://repo.yarnpkg.com/install | bash >/dev/null 2>&1" SETUP_INSTALL_PNPM="" # corepack auto-downloads on first invocation -# pacquet: use a dedicated npm cache so the pnpm tarball isn't warm from prepare -PACQUET_SETUP_CACHE="/tmp/bench-pacquet-cache" -SETUP_INSTALL_PACQUET="npm install --global pnpm@next-12 --prefix /tmp/pnpm12 --cache $PACQUET_SETUP_CACHE --allow-scripts=pnpm >/dev/null 2>&1" SETUP_INSTALL_VLT="npm install -g vlt@latest >/dev/null 2>&1" SETUP_INSTALL_BUN="npm install -g --allow-scripts=bun bun@latest >/dev/null 2>&1" SETUP_INSTALL_DENO="npm install -g --allow-scripts=deno deno@latest >/dev/null 2>&1" @@ -53,7 +50,6 @@ SETUP_UNINSTALL_YARN="" # corepack managed; cache purged below SETUP_UNINSTALL_BERRY="" SETUP_UNINSTALL_ZPM="rm -rf \$HOME/.yarn/switch >/dev/null 2>&1 || true" SETUP_UNINSTALL_PNPM="" -SETUP_UNINSTALL_PACQUET="rm -rf /tmp/pnpm12 $PACQUET_SETUP_CACHE" SETUP_UNINSTALL_VLT="npm uninstall -g vlt >/dev/null 2>&1 || true" SETUP_UNINSTALL_BUN="npm uninstall -g bun >/dev/null 2>&1 || true" SETUP_UNINSTALL_DENO="npm uninstall -g deno >/dev/null 2>&1 || true" @@ -72,7 +68,6 @@ BENCH_CI_YARN="corepack yarn@1 install --frozen-lockfile --ignore-scripts --sile BENCH_CI_BERRY="corepack yarn@latest install --immutable" BENCH_CI_ZPM="yarn install --immutable --silent" BENCH_CI_PNPM="corepack pnpm@latest install --frozen-lockfile --ignore-scripts --silent" -BENCH_CI_PACQUET="/tmp/pnpm12/bin/pnpm install --frozen-lockfile --ignore-scripts --silent" BENCH_CI_VLT="vlt ci --view=silent" BENCH_CI_BUN="bun install --frozen-lockfile --ignore-scripts --silent" BENCH_CI_DENO="deno install --frozen --quiet" @@ -98,7 +93,6 @@ BENCH_COMBINED_YARN="$(setup_and_ci "" "$BENCH_CI_YARN")" # corepack downl BENCH_COMBINED_BERRY="$(setup_and_ci "" "$BENCH_CI_BERRY")" BENCH_COMBINED_ZPM="$(setup_and_ci "$SETUP_INSTALL_ZPM" "$BENCH_CI_ZPM")" BENCH_COMBINED_PNPM="$(setup_and_ci "" "$BENCH_CI_PNPM")" -BENCH_COMBINED_PACQUET="$(setup_and_ci "$SETUP_INSTALL_PACQUET" "$BENCH_CI_PACQUET")" BENCH_COMBINED_VLT="$(setup_and_ci "$SETUP_INSTALL_VLT" "$BENCH_CI_VLT")" BENCH_COMBINED_BUN="$(setup_and_ci "$SETUP_INSTALL_BUN" "$BENCH_CI_BUN")" BENCH_COMBINED_DENO="$(setup_and_ci "$SETUP_INSTALL_DENO" "$BENCH_CI_DENO")" @@ -111,7 +105,6 @@ BENCH_COMMAND_YARN="timeout $BENCH_TIMEOUT bash -c '$BENCH_COMBINED_YARN' > $BEN BENCH_COMMAND_BERRY="timeout $BENCH_TIMEOUT bash -c '$BENCH_COMBINED_BERRY' > $BENCH_OUTPUT_FOLDER/berry-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_ZPM="timeout $BENCH_TIMEOUT bash -c '$BENCH_COMBINED_ZPM' > $BENCH_OUTPUT_FOLDER/zpm-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_PNPM="timeout $BENCH_TIMEOUT bash -c '$BENCH_COMBINED_PNPM' > $BENCH_OUTPUT_FOLDER/pnpm-output-\${HYPERFINE_ITERATION}.log 2>&1" -BENCH_COMMAND_PACQUET="timeout $BENCH_TIMEOUT bash -c '$BENCH_COMBINED_PACQUET' > $BENCH_OUTPUT_FOLDER/pacquet-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_VLT="timeout $BENCH_TIMEOUT bash -c '$BENCH_COMBINED_VLT' > $BENCH_OUTPUT_FOLDER/vlt-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_BUN="timeout $BENCH_TIMEOUT bash -c '$BENCH_COMBINED_BUN' > $BENCH_OUTPUT_FOLDER/bun-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_DENO="timeout $BENCH_TIMEOUT bash -c '$BENCH_COMBINED_DENO' > $BENCH_OUTPUT_FOLDER/deno-output-\${HYPERFINE_ITERATION}.log 2>&1" @@ -124,7 +117,6 @@ BENCH_INSTALL_YARN="bash -c '$BENCH_COMBINED_YARN'" BENCH_INSTALL_BERRY="bash -c '$BENCH_COMBINED_BERRY'" BENCH_INSTALL_ZPM="bash -c '$BENCH_COMBINED_ZPM'" BENCH_INSTALL_PNPM="bash -c '$BENCH_COMBINED_PNPM'" -BENCH_INSTALL_PACQUET="bash -c '$BENCH_COMBINED_PACQUET'" BENCH_INSTALL_VLT="bash -c '$BENCH_COMBINED_VLT'" BENCH_INSTALL_BUN="bash -c '$BENCH_COMBINED_BUN'" BENCH_INSTALL_DENO="bash -c '$BENCH_COMBINED_DENO'" @@ -189,7 +181,6 @@ BENCH_PREPARE_YARN="$(ci_setup_prepare "$SETUP_INSTALL_YARN" "$BENCH_SETUP_YARN" BENCH_PREPARE_BERRY="$(ci_setup_prepare "$SETUP_INSTALL_BERRY" "$BENCH_SETUP_BERRY" "corepack yarn@latest install" "$SETUP_UNINSTALL_BERRY" "$COREPACK_PURGE")" BENCH_PREPARE_ZPM="$(ci_setup_prepare "$SETUP_INSTALL_ZPM" "$BENCH_SETUP_ZPM" "yarn install --silent" "$SETUP_UNINSTALL_ZPM" "")" BENCH_PREPARE_PNPM="$(ci_setup_prepare "$SETUP_INSTALL_PNPM" "$BENCH_SETUP_PNPM" "corepack pnpm@latest install --ignore-scripts --silent" "$SETUP_UNINSTALL_PNPM" "$COREPACK_PURGE")" -BENCH_PREPARE_PACQUET="$(ci_setup_prepare "$SETUP_INSTALL_PACQUET" "$BENCH_SETUP_PACQUET" "/tmp/pnpm12/bin/pnpm install --ignore-scripts --silent" "$SETUP_UNINSTALL_PACQUET" "")" BENCH_PREPARE_VLT="$(ci_setup_prepare "$SETUP_INSTALL_VLT" "$BENCH_SETUP_VLT" "vlt install --view=silent" "$SETUP_UNINSTALL_VLT" "")" BENCH_PREPARE_BUN="$(ci_setup_prepare "$SETUP_INSTALL_BUN" "$BENCH_SETUP_BUN" "bun install --ignore-scripts --silent" "$SETUP_UNINSTALL_BUN" "")" BENCH_PREPARE_DENO="$(ci_setup_prepare "$SETUP_INSTALL_DENO" "$BENCH_SETUP_DENO" "deno install --quiet" "$SETUP_UNINSTALL_DENO" "")" @@ -214,8 +205,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$BENCH_PREPARE_PNPM"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$BENCH_PREPARE_PACQUET"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$BENCH_PREPARE_VLT"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$BENCH_PREPARE_BUN"} \ @@ -249,7 +238,6 @@ collect_process_count_per_pm() { [berry]="$BENCH_PREPARE_BERRY" [zpm]="$BENCH_PREPARE_ZPM" [pnpm]="$BENCH_PREPARE_PNPM" - [pacquet]="$BENCH_PREPARE_PACQUET" [vlt]="$BENCH_PREPARE_VLT" [bun]="$BENCH_PREPARE_BUN" [deno]="$BENCH_PREPARE_DENO" @@ -262,7 +250,6 @@ collect_process_count_per_pm() { [berry]="$BENCH_INSTALL_BERRY" [zpm]="$BENCH_INSTALL_ZPM" [pnpm]="$BENCH_INSTALL_PNPM" - [pacquet]="$BENCH_INSTALL_PACQUET" [vlt]="$BENCH_INSTALL_VLT" [bun]="$BENCH_INSTALL_BUN" [deno]="$BENCH_INSTALL_DENO" @@ -275,7 +262,6 @@ collect_process_count_per_pm() { [berry]="$BENCH_INCLUDE_BERRY" [zpm]="$BENCH_INCLUDE_ZPM" [pnpm]="$BENCH_INCLUDE_PNPM" - [pacquet]="$BENCH_INCLUDE_PACQUET" [vlt]="$BENCH_INCLUDE_VLT" [bun]="$BENCH_INCLUDE_BUN" [deno]="$BENCH_INCLUDE_DENO" @@ -283,7 +269,7 @@ collect_process_count_per_pm() { [upm]="$BENCH_INCLUDE_UPM" ) - for pm in npm yarn berry zpm pnpm pacquet vlt bun deno aube upm; do + for pm in npm yarn berry zpm pnpm vlt bun deno aube upm; do if [ -n "${PM_INCLUDE[$pm]:-}" ]; then bash "$BENCH_SCRIPTS/process-count.sh" \ "$BENCH_OUTPUT_FOLDER" \ diff --git a/scripts/variations/ci.sh b/scripts/variations/ci.sh index 2284bdfeef..ff1f7ddba1 100644 --- a/scripts/variations/ci.sh +++ b/scripts/variations/ci.sh @@ -23,7 +23,6 @@ BENCH_CI_YARN="corepack yarn@1 install --frozen-lockfile --ignore-scripts --sile BENCH_CI_BERRY="corepack yarn@latest install --immutable" BENCH_CI_ZPM="yarn install --immutable --silent" BENCH_CI_PNPM="corepack pnpm@latest install --frozen-lockfile --ignore-scripts --silent" -BENCH_CI_PACQUET="/tmp/pnpm12/bin/pnpm install --frozen-lockfile --ignore-scripts --silent" BENCH_CI_VLT="vlt ci --view=silent" BENCH_CI_BUN="bun install --frozen-lockfile --ignore-scripts --silent" BENCH_CI_DENO="deno install --frozen --quiet" @@ -36,7 +35,6 @@ BENCH_COMMAND_YARN="timeout $BENCH_TIMEOUT $BENCH_CI_YARN > $BENCH_OUTPUT_FOLDER BENCH_COMMAND_BERRY="timeout $BENCH_TIMEOUT $BENCH_CI_BERRY > $BENCH_OUTPUT_FOLDER/berry-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_ZPM="timeout $BENCH_TIMEOUT $BENCH_CI_ZPM > $BENCH_OUTPUT_FOLDER/zpm-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_PNPM="timeout $BENCH_TIMEOUT $BENCH_CI_PNPM > $BENCH_OUTPUT_FOLDER/pnpm-output-\${HYPERFINE_ITERATION}.log 2>&1" -BENCH_COMMAND_PACQUET="timeout $BENCH_TIMEOUT $BENCH_CI_PACQUET > $BENCH_OUTPUT_FOLDER/pacquet-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_VLT="timeout $BENCH_TIMEOUT $BENCH_CI_VLT > $BENCH_OUTPUT_FOLDER/vlt-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_BUN="timeout $BENCH_TIMEOUT $BENCH_CI_BUN > $BENCH_OUTPUT_FOLDER/bun-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_DENO="timeout $BENCH_TIMEOUT $BENCH_CI_DENO > $BENCH_OUTPUT_FOLDER/deno-output-\${HYPERFINE_ITERATION}.log 2>&1" @@ -49,7 +47,6 @@ BENCH_INSTALL_YARN="$BENCH_CI_YARN" BENCH_INSTALL_BERRY="$BENCH_CI_BERRY" BENCH_INSTALL_ZPM="$BENCH_CI_ZPM" BENCH_INSTALL_PNPM="$BENCH_CI_PNPM" -BENCH_INSTALL_PACQUET="$BENCH_CI_PACQUET" BENCH_INSTALL_VLT="$BENCH_CI_VLT" BENCH_INSTALL_BUN="$BENCH_CI_BUN" BENCH_INSTALL_DENO="$BENCH_CI_DENO" @@ -92,7 +89,6 @@ BENCH_PREPARE_YARN="$(ci_prepare "$BENCH_SETUP_YARN" "corepack yarn@1 install -- BENCH_PREPARE_BERRY="$(ci_prepare "$BENCH_SETUP_BERRY" "corepack yarn@latest install")" BENCH_PREPARE_ZPM="$(ci_prepare "$BENCH_SETUP_ZPM" "yarn install --silent")" BENCH_PREPARE_PNPM="$(ci_prepare "$BENCH_SETUP_PNPM" "corepack pnpm@latest install --ignore-scripts --silent")" -BENCH_PREPARE_PACQUET="$(ci_prepare "$BENCH_SETUP_PACQUET" "/tmp/pnpm12/bin/pnpm install --ignore-scripts --silent")" BENCH_PREPARE_VLT="$(ci_prepare "$BENCH_SETUP_VLT" "vlt install --view=silent")" BENCH_PREPARE_BUN="$(ci_prepare "$BENCH_SETUP_BUN" "bun install --ignore-scripts --silent")" BENCH_PREPARE_DENO="$(ci_prepare "$BENCH_SETUP_DENO" "deno install --quiet")" @@ -117,8 +113,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$BENCH_PREPARE_PNPM"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$BENCH_PREPARE_PACQUET"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$BENCH_PREPARE_VLT"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$BENCH_PREPARE_BUN"} \ diff --git a/scripts/variations/clean.sh b/scripts/variations/clean.sh index 2737666c34..5de81f54ac 100644 --- a/scripts/variations/clean.sh +++ b/scripts/variations/clean.sh @@ -28,8 +28,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PNPM")"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PACQUET")"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_VLT")"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_BUN")"} \ diff --git a/scripts/variations/common.sh b/scripts/variations/common.sh index fa846b0b24..a8af6978bd 100644 --- a/scripts/variations/common.sh +++ b/scripts/variations/common.sh @@ -31,14 +31,14 @@ else fi # Defines configurable values for the benchmark -BENCH_INCLUDE="${BENCH_INCLUDE:=npm,yarn,berry,zpm,pnpm,pacquet,vlt,bun,deno,aube,upm,nx,turbo,vp,node}" +BENCH_INCLUDE="${BENCH_INCLUDE:=npm,yarn,berry,zpm,pnpm,vlt,bun,deno,aube,upm,nx,turbo,vp,node}" BENCH_WARMUP="${BENCH_WARMUP:=2}" BENCH_RUNS="${BENCH_RUNS:=5}" # Per-command timeout in seconds (default: 5 minutes). # If a single install exceeds this, it is killed. hyperfine --ignore-failure # lets the suite continue; the timed-out run records as a failure. BENCH_TIMEOUT="${BENCH_TIMEOUT:=300}" -for pm in npm yarn berry zpm pnpm pacquet vlt bun deno aube upm nx turbo vp node; do +for pm in npm yarn berry zpm pnpm vlt bun deno aube upm nx turbo vp node; do CHOICE=$(echo "$pm" | tr '[:lower:]' '[:upper:]') if echo "$BENCH_INCLUDE" | grep -qw "$pm"; then # Only allow nx, turbo, vp, node for task-runner variations (run, build, build-cache) @@ -72,7 +72,6 @@ BENCH_SETUP_BERRY="echo \"$BENCH_COMMAND_YARN_MODERN_CONFIG\" > .yarnrc.yml" BENCH_SETUP_ZPM="echo \"$BENCH_COMMAND_YARN_MODERN_CONFIG\" > .yarnrc.yml; { echo '[zpm prepare]'; echo 'cwd:'; pwd; echo 'package.json:'; ls -la package.json || true; echo 'yarn path:'; command -v yarn || true; echo 'yarn version:'; yarn -v || true; echo 'canary version:'; echo \"$BENCH_ZPM_VERSION\"; echo 'packageManager (before):'; npm pkg get packageManager || true; echo 'set packageManager=yarn@'"$BENCH_ZPM_VERSION"':' ; npm pkg set packageManager=\"yarn@$BENCH_ZPM_VERSION\" || true; echo 'packageManager (after):'; npm pkg get packageManager || true; } >> $BENCH_OUTPUT_FOLDER/zpm-prepare.log 2>&1" BENCH_SETUP_PNPM="npm pkg delete packageManager >/dev/null 2>&1 || true" -BENCH_SETUP_PACQUET="npm pkg delete packageManager >/dev/null 2>&1 || true" BENCH_SETUP_VLT="node $BENCH_SCRIPTS/add-workspace-protocol.js . >> $BENCH_OUTPUT_FOLDER/vlt-prepare.log 2>&1" BENCH_SETUP_BUN="" BENCH_SETUP_DENO="" @@ -100,7 +99,6 @@ BENCH_INSTALL_YARN="corepack yarn@1 install --ignore-scripts --silent" BENCH_INSTALL_BERRY="corepack yarn@latest install" BENCH_INSTALL_ZPM="yarn install --silent" BENCH_INSTALL_PNPM="corepack pnpm@latest install --ignore-scripts --silent" -BENCH_INSTALL_PACQUET="/tmp/pnpm12/bin/pnpm install --ignore-scripts --silent" # vlt uses the npm registry alias configured by each fixture's vlt.json. BENCH_INSTALL_VLT="vlt install --view=silent" BENCH_INSTALL_BUN="bun install --ignore-scripts --silent" @@ -113,7 +111,6 @@ BENCH_COMMAND_YARN="timeout $BENCH_TIMEOUT $BENCH_INSTALL_YARN > $BENCH_OUTPUT_F BENCH_COMMAND_BERRY="timeout $BENCH_TIMEOUT $BENCH_INSTALL_BERRY > $BENCH_OUTPUT_FOLDER/berry-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_ZPM="timeout $BENCH_TIMEOUT $BENCH_INSTALL_ZPM > $BENCH_OUTPUT_FOLDER/zpm-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_PNPM="timeout $BENCH_TIMEOUT $BENCH_INSTALL_PNPM > $BENCH_OUTPUT_FOLDER/pnpm-output-\${HYPERFINE_ITERATION}.log 2>&1" -BENCH_COMMAND_PACQUET="timeout $BENCH_TIMEOUT $BENCH_INSTALL_PACQUET > $BENCH_OUTPUT_FOLDER/pacquet-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_VLT="timeout $BENCH_TIMEOUT $BENCH_INSTALL_VLT > $BENCH_OUTPUT_FOLDER/vlt-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_BUN="timeout $BENCH_TIMEOUT $BENCH_INSTALL_BUN > $BENCH_OUTPUT_FOLDER/bun-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_DENO="timeout $BENCH_TIMEOUT $BENCH_INSTALL_DENO > $BENCH_OUTPUT_FOLDER/deno-output-\${HYPERFINE_ITERATION}.log 2>&1" @@ -151,7 +148,7 @@ collect_package_count() { ls -la "$BENCH_OUTPUT_FOLDER" # Prints the output of each install - for pm in npm yarn berry zpm pnpm pacquet vlt bun deno aube upm nx turbo vp node; do + for pm in npm yarn berry zpm pnpm vlt bun deno aube upm nx turbo vp node; do if echo "$BENCH_INCLUDE" | grep -qw "$pm"; then for i in {0..9}; do echo "-- Reading output of $pm install $i ---" @@ -188,7 +185,6 @@ collect_process_count() { [berry]="$BENCH_SETUP_BERRY" [zpm]="$BENCH_SETUP_ZPM" [pnpm]="$BENCH_SETUP_PNPM" - [pacquet]="$BENCH_SETUP_PACQUET" [vlt]="$BENCH_SETUP_VLT" [bun]="$BENCH_SETUP_BUN" [deno]="$BENCH_SETUP_DENO" @@ -201,7 +197,6 @@ collect_process_count() { [berry]="$BENCH_INSTALL_BERRY" [zpm]="$BENCH_INSTALL_ZPM" [pnpm]="$BENCH_INSTALL_PNPM" - [pacquet]="$BENCH_INSTALL_PACQUET" [vlt]="$BENCH_INSTALL_VLT" [bun]="$BENCH_INSTALL_BUN" [deno]="$BENCH_INSTALL_DENO" @@ -214,7 +209,6 @@ collect_process_count() { [berry]="$BENCH_INCLUDE_BERRY" [zpm]="$BENCH_INCLUDE_ZPM" [pnpm]="$BENCH_INCLUDE_PNPM" - [pacquet]="$BENCH_INCLUDE_PACQUET" [vlt]="$BENCH_INCLUDE_VLT" [bun]="$BENCH_INCLUDE_BUN" [deno]="$BENCH_INCLUDE_DENO" @@ -222,7 +216,7 @@ collect_process_count() { [upm]="$BENCH_INCLUDE_UPM" ) - for pm in npm yarn berry zpm pnpm pacquet vlt bun deno aube upm; do + for pm in npm yarn berry zpm pnpm vlt bun deno aube upm; do if [ -n "${PM_INCLUDE[$pm]:-}" ]; then local prepare_cmd="$BENCH_PREPARE_BASE" local setup="${PM_SETUP[$pm]:-}" diff --git a/scripts/variations/lockfile+node_modules.sh b/scripts/variations/lockfile+node_modules.sh index 18c4bc9742..8a5cb3c509 100644 --- a/scripts/variations/lockfile+node_modules.sh +++ b/scripts/variations/lockfile+node_modules.sh @@ -31,8 +31,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PNPM")"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PACQUET")"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_VLT")"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_BUN")"} \ diff --git a/scripts/variations/lockfile.sh b/scripts/variations/lockfile.sh index 55fa2eb9c4..b6013c1571 100644 --- a/scripts/variations/lockfile.sh +++ b/scripts/variations/lockfile.sh @@ -31,8 +31,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PNPM")"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PACQUET")"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_VLT")"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_BUN")"} \ diff --git a/scripts/variations/node_modules.sh b/scripts/variations/node_modules.sh index c77d86452c..e545d3f7e7 100644 --- a/scripts/variations/node_modules.sh +++ b/scripts/variations/node_modules.sh @@ -31,8 +31,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PNPM")"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_PACQUET")"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_VLT")"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$(append_setup "$BENCH_PREPARE_BASE" "$BENCH_SETUP_BUN")"} \ diff --git a/scripts/variations/run.sh b/scripts/variations/run.sh index 45f611853f..484e0f6215 100644 --- a/scripts/variations/run.sh +++ b/scripts/variations/run.sh @@ -15,7 +15,6 @@ BENCH_INSTALL_COMMAND_YARN="${BENCH_COMMAND_YARN//\$\{HYPERFINE_ITERATION\}/run} BENCH_INSTALL_COMMAND_BERRY="${BENCH_COMMAND_BERRY//\$\{HYPERFINE_ITERATION\}/run}" BENCH_INSTALL_COMMAND_ZPM="${BENCH_COMMAND_ZPM//\$\{HYPERFINE_ITERATION\}/run}" BENCH_INSTALL_COMMAND_PNPM="${BENCH_COMMAND_PNPM//\$\{HYPERFINE_ITERATION\}/run}" -BENCH_INSTALL_COMMAND_PACQUET="${BENCH_COMMAND_PACQUET//\$\{HYPERFINE_ITERATION\}/run}" BENCH_INSTALL_COMMAND_VLT="${BENCH_COMMAND_VLT//\$\{HYPERFINE_ITERATION\}/run}" BENCH_INSTALL_COMMAND_BUN="${BENCH_COMMAND_BUN//\$\{HYPERFINE_ITERATION\}/run}" BENCH_INSTALL_COMMAND_DENO="${BENCH_COMMAND_DENO//\$\{HYPERFINE_ITERATION\}/run}" @@ -27,7 +26,6 @@ BENCH_INSTALL_PREPARE_YARN="$(prepend_setup "$BENCH_INSTALL_COMMAND_YARN" "$BENC BENCH_INSTALL_PREPARE_BERRY="$(prepend_setup "$BENCH_INSTALL_COMMAND_BERRY" "$BENCH_SETUP_BERRY")" BENCH_INSTALL_PREPARE_ZPM="$(prepend_setup "$BENCH_INSTALL_COMMAND_ZPM" "$BENCH_SETUP_ZPM")" BENCH_INSTALL_PREPARE_PNPM="$(prepend_setup "$BENCH_INSTALL_COMMAND_PNPM" "$BENCH_SETUP_PNPM")" -BENCH_INSTALL_PREPARE_PACQUET="$(prepend_setup "$BENCH_INSTALL_COMMAND_PACQUET" "$BENCH_SETUP_PACQUET")" BENCH_INSTALL_PREPARE_VLT="$(prepend_setup "$BENCH_INSTALL_COMMAND_VLT" "$BENCH_SETUP_VLT")" BENCH_INSTALL_PREPARE_BUN="$(prepend_setup "$BENCH_INSTALL_COMMAND_BUN" "$BENCH_SETUP_BUN")" BENCH_INSTALL_PREPARE_DENO="$(prepend_setup "$BENCH_INSTALL_COMMAND_DENO" "$BENCH_SETUP_DENO")" @@ -42,7 +40,6 @@ BENCH_COMMAND_YARN="timeout $BENCH_TIMEOUT corepack yarn@1 run test > $BENCH_OUT BENCH_COMMAND_BERRY="timeout $BENCH_TIMEOUT corepack yarn@latest run test > $BENCH_OUTPUT_FOLDER/berry-run-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_ZPM="timeout $BENCH_TIMEOUT yarn run test > $BENCH_OUTPUT_FOLDER/zpm-run-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_PNPM="timeout $BENCH_TIMEOUT corepack pnpm@latest run test > $BENCH_OUTPUT_FOLDER/pnpm-run-output-\${HYPERFINE_ITERATION}.log 2>&1" -BENCH_COMMAND_PACQUET="timeout $BENCH_TIMEOUT /tmp/pnpm12/bin/pnpm run test > $BENCH_OUTPUT_FOLDER/pacquet-run-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_VLT="timeout $BENCH_TIMEOUT vlt run test --view=human > $BENCH_OUTPUT_FOLDER/vlt-run-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_BUN="timeout $BENCH_TIMEOUT bun run test > $BENCH_OUTPUT_FOLDER/bun-run-output-\${HYPERFINE_ITERATION}.log 2>&1" BENCH_COMMAND_DENO="timeout $BENCH_TIMEOUT deno run test > $BENCH_OUTPUT_FOLDER/deno-run-output-\${HYPERFINE_ITERATION}.log 2>&1" @@ -72,8 +69,6 @@ hyperfine --ignore-failure \ ${BENCH_INCLUDE_ZPM:+--command-name="zpm" "$BENCH_COMMAND_ZPM"} \ ${BENCH_INCLUDE_PNPM:+--prepare="$BENCH_INSTALL_PREPARE_PNPM"} \ ${BENCH_INCLUDE_PNPM:+--command-name="pnpm" "$BENCH_COMMAND_PNPM"} \ - ${BENCH_INCLUDE_PACQUET:+--prepare="$BENCH_INSTALL_PREPARE_PACQUET"} \ - ${BENCH_INCLUDE_PACQUET:+--command-name="pacquet" "$BENCH_COMMAND_PACQUET"} \ ${BENCH_INCLUDE_VLT:+--prepare="$BENCH_INSTALL_PREPARE_VLT"} \ ${BENCH_INCLUDE_VLT:+--command-name="vlt" "$BENCH_COMMAND_VLT"} \ ${BENCH_INCLUDE_BUN:+--prepare="$BENCH_INSTALL_PREPARE_BUN"} \