ShopperCove
Menu
All writingBlogTopicsCategoriesAboutRSS
Blog
Categories
Observability & SRE62All categories
Topics
sre111localhost lab102performance70python58javascript47bundle size36benchmarking35node.js35web development21typescript19benchmark16content creation15All topics
About
Loading blog archive…
Loading posts…

ShopperCove

Hands-on notes on developer tools, written after the tool has actually been run.

All writingBlogCategoriesTopicsAboutPrivacyRSS

© 2026 ShopperCove

Archive

Blog

AllHands-onLabSummaryPaper digestNews

nock vs msw: Should You Switch? 2.9ms vs 0.5ms

nock 14.0.17 vs msw 2.15.0 on 2,000 sequential mocked fetch calls in Node 20: 2.85 ms vs 0.49 ms per request (~5.8x); via axios 3.80 ms vs 1.41 ms (~2.7x). nock sets up faster (97 vs 208 ms), crossover near 50 requests per process.

5 Oct 20265 min read
→

Is webpack-bundle-analyzer Accurate? A 2.3x Size Gap

webpack-bundle-analyzer 5.4.0 vs source-map-explorer 2.5.3 on one webpack 5.111 production build (148,569 B): date-fns 44,313 B vs 19,196 B (2.3x) because of module concatenation estimates; lodash 70,136 vs 70,312 B. CLI medians 313 ms vs 224 ms (JSON).

5 Oct 20265 min read
→

syncpack vs npm-check: Should You Switch? 491ms vs 1.5s

syncpack 15.3.3 lint vs npm-check 6.0.1 on a 12-package npm workspaces fixture: syncpack median 491 ms offline with 21 version mismatches; npm-check --skip-unused median 1.54 s at root (registry).

5 Oct 20265 min read
→

size-limit vs bundlesize: Should You Switch? 761ms vs 604ms

size-limit 11.2.0 (@size-limit/file) vs bundlesize 1.0.0-beta.2 on 3 prebuilt dist JS files: brotli median 761 ms vs gzip 604 ms; size-limit gzip mode 621 ms. App reported 57.69 kB brotli / 62.20 kB gzip / 60.74 kB bundlesize gzip.

5 Oct 20265 min read
→

volta vs fnm: Should You Switch? 14ms vs 17ms

volta 2.0.2 vs fnm 1.39.0 switching Node 20.19.2 ↔ 22.14.0: session A-then-B median 13.9 ms vs 17.0 ms; steady node -v 7.4 ms vs 6.4 ms (direct 4.7 ms).

5 Oct 20265 min read
→

lefthook vs husky: Should You Switch? 615ms vs 478ms

husky 9.1.7 + lint-staged 16.2.3 vs lefthook 1.13.6 on a 40-file prettier pre-commit: local-bin medians 478 ms vs 615 ms (~1.29x); npx path 651 ms vs 765 ms; install 283 ms vs 256 ms.

5 Oct 20265 min read
→

tsup vs unbuild: Should You Switch? 931ms vs 2034ms

tsup 8.5.1 vs unbuild 3.6.1 on a 150-module TypeScript library (ESM+CJS): median 931 ms vs 2034 ms (~2.2x); with .d.ts 3213 ms vs 3740 ms (~1.16x). unbuild ESM 4.9% smaller, CJS 8.3% smaller; tsup README says not actively maintained.

5 Oct 20265 min read
→

c8 vs nyc: Should You Switch? 4.2s vs 7.4s

c8 12.0.0 vs nyc 18.0.0 on 80 CommonJS modules / 480 mocha tests: coverage-run median 4222 ms vs 7415 ms (~1.76x; no-coverage baseline 1734 ms). Same code, different totals: branches 81.3% (c8) vs 47.9% (nyc).

5 Oct 20265 min read
→

tsx vs ts-node: Which Should You Use? 0.49s vs 1.18s

tsx 4.23.15 vs ts-node 10.9.2 on TypeScript 5.9.2 for a 50k-row script: medians 0.49 s vs 1.18 s (typecheck) vs 0.38 s (--transpile-only) vs 0.13 s precompiled node. TypeScript 7.0.2 crashes ts-node 10.9.2; tsx runs. Who should switch.

5 Oct 20264 min read
→

Should You Leave Babel for SWC? 1.05s vs 46ms

Babel 8.0.6 vs SWC 1.16.13 vs esbuild 0.28.2 per-file transform on 501 TSX files (526 KB): medians 1.05 s / 46 ms / 83 ms. esbuild bundle of same entry 40 ms. Sample Comp0.js sizes close (1089/1121/1167 B). Leave Babel if you only strip TS/JSX; keep it for macros/unported plugins.

5 Oct 20265 min read
→

gc.collect Cost Empty vs Cycles: Localhost Lab

Hands-on gc.collect cost empty vs cyclic garbage lab: real collect latency plus reclaim counts, measured on Linux localhost today in this lab for SREs.

1 Oct 20264 min read
→

sqlite3 vs shelve Local KV: Localhost Lab

Hands-on sqlite3 vs shelve local KV store lab: real insert/get ops/s plus file sizes, measured on Linux localhost today in this hands-on lab for SREs.

1 Oct 20264 min read
→
Previous
  1. 1
  2. …
  3. 5
  4. 6
  5. 7
  6. 8
Next