Skip to main content

ts-memory-baseline

Measure and compare TypeScript memory usage for @regle/core and test typechecks. Use when checking TS server pressure, type-level perf regressions, or before/after heavy generic typing changes.

Quellinformationen

Repository
victorgarciaesgi/regle
Letzte Quellaktivität
10. August 2026 um 13:58
Erkannte Sprache von SKILL.md
Englisch
Sterne
506
Forks
22

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
ts-memory-baseline
description
Measure and compare TypeScript memory usage for @regle/core and test typechecks. Use when checking TS server pressure, type-level perf regressions, or before/after heavy generic typing changes.
metadata
{"author":"regle","version":"2026.03.19"}
# TypeScript memory baseline procedure This skill defines a reproducible process to measure TypeScript memory usage in this repository. ## Hard requirements 1. Use Node 24 for all measurements. 2. Run `pnpm build` before any test-related measurement. 3. `pnpm run test:typecheck` should never fail. If it fails, treat the run as invalid for regression tracking. ## Environment setup ```bash PATH="/Users/victorgarcia/.nvm/versions/node/v24.15.0/bin:$PATH" node -v pnpm -v ``` Expected: - Node `v24.x` - pnpm `11.20.0` (or project-compatible version) ## Measurement runbook (must follow) 1. Ensure no extra monorepo tasks are running. 2. Use the exact Node 24 PATH prefix in every command. 3. Run one warm-up pass that is discarded. 4. Run 3 measured passes and compare medians. 5. Save only the final medians in `tests/TS_MEMORY_BASELINE_RESULTS.md`. ## Measurement commands ### A. @regle/core compiler diagnostics ```bash PATH="/Users/victorgarcia/.nvm/versions/node/v24.15.0/bin:$PATH" \ ./node_modules/.bin/tsc -p "packages/core/tsconfig.json" --noEmit --extendedDiagnostics ``` Capture: - `Memory used` - `Instantiations` - `Check time` ### B. Full type tests memory Run build first: ```bash PATH="/Users/victorgarcia/.nvm/versions/node/v24.15.0/bin:$PATH" pnpm build ``` Then: ```bash PATH="/Users/victorgarcia/.nvm/versions/node/v24.15.0/bin:$PATH" \ /usr/bin/time -l pnpm run test:typecheck ``` Capture: - exit code (must be `0`) - `maximum resident set size` - `peak memory footprint` - `real/user/sys` Recommended sequence: ```bash # warm-up (discard) PATH="/Users/victorgarcia/.nvm/versions/node/v24.15.0/bin:$PATH" \ /usr/bin/time -l corepack pnpm run test:typecheck # measured runs (collect all 3) PATH="/Users/victorgarcia/.nvm/versions/node/v24.15.0/bin:$PATH" \ /usr/bin/time -l corepack pnpm run test:typecheck PATH="/Users/victorgarcia/.nvm/versions/node/v24.15.0/bin:$PATH" \ /usr/bin/time -l corepack pnpm run test:typecheck PATH="/Users/victorgarcia/.nvm/versions/node/v24.15.0/bin:$PATH" \ /usr/bin/time -l corepack pnpm run test:typecheck ``` ## Comparison protocol Use median deltas because absolute values can vary with machine/CPU load. 1. Compute medians for old baseline and new run. 2. Compute delta % = `(new - old) / old * 100`. 3. Evaluate with these thresholds: - **Likely noise**: within `±5%` for memory metrics. - **Watch zone**: `>5%` and `<=10%` increase. - **Regression candidate**: `>10%` increase. 4. For `Check time` and `real time`, treat as noisy: - investigate only if increase is `>15%` and reproducible across runs. 5. If `pnpm run test:typecheck` exit code is non-zero, invalidate the run (do not update baseline). ## Results storage Store only numeric outcomes in: - `tests/TS_MEMORY_BASELINE_RESULTS.md` Do not put procedural instructions in the results file.
Auf GitHub ansehen