Avatar for the webpack user
webpack
enhanced-resolve
BlogDocsChangelog

perf: precompile AliasPlugin options to speed up huge alias lists

#528Merged
Comparing
claude/benchmark-resolve-performance-JYrp7
(
78744d1
) with
main
(
68f8a15
)
CodSpeed Performance Gauge
+22%
Improvement
4
Untouched
52
New
2

Benchmarks

58 total
stack-churn: 4x60 alias chains, 20 resolves
benchmark/cases/stack-churn/index.bench.mjs
CodSpeed Performance Gauge
+22%
104.1 ms85.1 ms
alias-wildcard-scan: 100+1 wildcard + 1 exact
benchmark/cases/alias-wildcard-scan/index.bench.mjs
CodSpeed Performance Gauge
+12%
3.9 ms3.5 ms
large-alias-list: 50+8 aliases, match near end
benchmark/cases/large-alias-list/index.bench.mjs
CodSpeed Performance Gauge
+11%
2.2 ms2 ms
pathological-deep-stack: alias chain of 50 (warm)
benchmark/cases/pathological-deep-stack/index.bench.mjs
CodSpeed Performance Gauge
+10%
19.1 ms17.3 ms
huge-alias-list: 300+8 aliases, match near end
benchmark/cases/huge-alias-list/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A4 ms
huge-alias-miss: 300 aliases, no match
benchmark/cases/huge-alias-miss/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A2.6 ms
alias-realistic: @/path + @components aliases (warm)
benchmark/cases/alias-realistic/index.bench.mjs
CodSpeed Performance Gauge
+8%
4.8 ms4.5 ms
main-field: browser/module/main combos (warm)
benchmark/cases/main-field/index.bench.mjs
CodSpeed Performance Gauge
+3%
1.3 ms1.3 ms
realistic-midsize: mixed batch (cold cache)
benchmark/cases/realistic-midsize/index.bench.mjs
CodSpeed Performance Gauge
+1%
7.3 ms7.3 ms
resolve-to-context: directory resolve (warm)
benchmark/cases/resolve-to-context/index.bench.mjs
CodSpeed Performance Gauge
+1%
357.9 µs354.4 µs
array-alias: @ -> [preferred, fallback] (warm)
benchmark/cases/array-alias/index.bench.mjs
CodSpeed Performance Gauge
+1%
749 µs743.6 µs
node-compare: enhanced-resolve sync x 1000 (fs cache)
benchmark/cases/node-compare/index.bench.mjs
CodSpeed Performance Gauge
0%
89 ms88.6 ms
enforce-extension: explicit .js requests (warm)
benchmark/cases/enforce-extension/index.bench.mjs
CodSpeed Performance Gauge
0%
967.6 µs965 µs
node-compare: node require.resolve x 1000
benchmark/cases/node-compare/index.bench.mjs
CodSpeed Performance Gauge
0%
65.2 ms65.1 ms
sync-resolver: resolveSync mixed batch (warm)
benchmark/cases/sync-resolver/index.bench.mjs
CodSpeed Performance Gauge
0%
718.4 µs716.9 µs
node-compare: enhanced-resolve async x 1000 (fs + unsafeCache)
benchmark/cases/node-compare/index.bench.mjs
CodSpeed Performance Gauge
0%
28.7 ms28.7 ms
failed-resolution: missing files + packages
benchmark/cases/failed-resolution/index.bench.mjs
CodSpeed Performance Gauge
0%
1.8 ms1.8 ms
node-compare: enhanced-resolve promise x 1000 (fs + unsafeCache)
benchmark/cases/node-compare/index.bench.mjs
CodSpeed Performance Gauge
0%
27.9 ms27.9 ms
node-compare: enhanced-resolve sync x 1000 (fs + unsafeCache)
benchmark/cases/node-compare/index.bench.mjs
CodSpeed Performance Gauge
0%
18.9 ms18.9 ms
symlinks: symlinks=false (warm)
benchmark/cases/symlinks/index.bench.mjs
CodSpeed Performance Gauge
0%
424.4 µs424.2 µs
prefer-absolute: absolute paths (warm)
benchmark/cases/prefer-absolute/index.bench.mjs
CodSpeed Performance Gauge
0%
876.7 µs876.3 µs
unsafe-cache: OFF, 3x repeat
benchmark/cases/unsafe-cache/index.bench.mjs
CodSpeed Performance Gauge
0%
4.9 ms4.9 ms
deep-package-subpath: pkg/a/b/c requests (warm)
benchmark/cases/deep-package-subpath/index.bench.mjs
CodSpeed Performance Gauge
0%
2.1 ms2.1 ms
exports-field: conditions=require,node (warm)
benchmark/cases/exports-field/index.bench.mjs
CodSpeed Performance Gauge
0%
2.3 ms2.3 ms
roots: server-relative paths (warm)
benchmark/cases/roots/index.bench.mjs
CodSpeed Performance Gauge
0%
1.3 ms1.3 ms

Commits

Click on a commit to change the comparison range
Base
main
68f8a15
+22.23%
perf: skip alias scan when options is empty
78744d1
2 days ago
by claude
© 2026 CodSpeed Technology
Home Terms Privacy Docs