Avatar for the webpack user
webpack
webpack-sources
BlogDocsChangelog

feat: port performance fixes and ignoreList propagation from rspack-sources

#226
Comparing
claude/rspack-sources-perf-JEowh
(
33df884
) with
main
(
7ad6559
)
CodSpeed Performance Gauge
-15%
Improvement
7
Regression
64
Untouched
140

Benchmarks

211 total
clear-cache memory: shared modules (visited set — single allocation)
benchmark/memory/clear-cache/index.bench.mjs
CodSpeed Performance Gauge
-45%
392 B712 B
cached-source memory: getCachedData() allocates BufferedMap
benchmark/memory/cached-source/index.bench.mjs
CodSpeed Performance Gauge
-40%
392 B648 B
source-map-source memory: sourceAndMap({ columns: true }) (combined inner)
benchmark/memory/source-map-source/index.bench.mjs
CodSpeed Performance Gauge
-38%
1.8 MB2.9 MB
size-only-source memory: new SizeOnlySource()
benchmark/memory/size-only-source/index.bench.mjs
CodSpeed Performance Gauge
-35%
58.4 KB90 KB
cached-source: size() (cached)
benchmark/cases/cached-source/index.bench.mjs
CodSpeed Performance Gauge
-34%
30.3 µs45.9 µs
concat-source: buffers() (10 raw)
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
-32%
84.4 µs123.4 µs
compat-source: CompatSource.from(SourceLike)
benchmark/cases/compat-source/index.bench.mjs
CodSpeed Performance Gauge
-28%
58 µs81.1 µs
concat-source: getChildren()
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
-27%
112.8 µs153.7 µs
cached-source: new CachedSource()
benchmark/cases/cached-source/index.bench.mjs
CodSpeed Performance Gauge
-26%
332.2 µs450.9 µs
size-only-source: new SizeOnlySource()
benchmark/cases/size-only-source/index.bench.mjs
CodSpeed Performance Gauge
-26%
114.8 µs154.4 µs
concat-source: addAllSkipOptimizing()
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
-25%
107.1 µs142.9 µs
concat-source: buffers() (nested 4x10 raw)
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
-25%
131.5 µs174.8 µs
compat-source memory: new CompatSource(sourceLike)
benchmark/memory/compat-source/index.bench.mjs
CodSpeed Performance Gauge
-25%
784 B1,040 B
raw-source: new RawSource(buffer, true)
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
-23%
79.6 µs104 µs
raw-source: map()
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
-23%
87.7 µs114.4 µs
concat-source: source() (10 raw)
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
-23%
118.6 µs154.5 µs
raw-source: new RawSource(buffer)
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
-23%
79.8 µs104 µs
concat-source: add() x50
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
-23%
115.8 µs150.8 µs
concat-source: source() (mixed)
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
-23%
120.6 µs156.5 µs
raw-source: new RawSource(string)
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
-23%
81.7 µs105.7 µs
replace-source memory: construct + 100 insertions
benchmark/memory/replace-source/index.bench.mjs
CodSpeed Performance Gauge
-23%
2.6 KB3.4 KB
raw-source: buffer() (from buffer)
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
-22%
87.4 µs112.6 µs
raw-source: source() (string)
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
-22%
89.2 µs113.9 µs
raw-source: buffers() (from buffer)
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
-22%
94.2 µs119.9 µs
replace-source: new ReplaceSource()
benchmark/cases/replace-source/index.bench.mjs
CodSpeed Performance Gauge
-21%
136 µs171.1 µs

Commits

Click on a commit to change the comparison range
Base
main
7ad6559
-17.13%
feat: port performance fixes and ignoreList propagation from rspack-sources
16f8fc2
1 day ago
by claude
+3.62%
perf: eliminate per-call closure + hidden-class churn from rspack-sources port
e49f79c
1 day ago
by claude
+25.02%
refactor: route per-source extras off onSource onto an options side-channel
3107f43
1 day ago
by claude
-22.24%
chore: collapse package.json arrays to single-line per prettier rule
023615a
1 day ago
by claude
-15.62%
test: cover the new ignoreList/originalLines paths
222fea5
1 day ago
by claude
+24.33%
test: cover combined source-map onSourceInfo remap branches
01722ec
1 day ago
by claude
-9.92%
revert: strip ignoreList/debugId/sourceRoot propagation feature
5bfda14
1 day ago
by claude
-0.45%
test: cover ReplaceSource empty-replacement + column-tracking branches
c971353
1 day ago
by claude
-1.55%
test: mark unreachable V8<7.0 stable-sort fallback with istanbul ignore
185df9f
1 day ago
by claude
+26.89%
revert: strip OriginalSource + ReplaceSource changes for clean A/B test
ee1a250
13 hours ago
by claude
-32.83%
chore: regenerate types.d.ts after OriginalSource revert
a38b924
13 hours ago
by claude
+7.93%
test: add ReplaceSource tests for trailing inserts, empty replacement, column tracking
3908b55
13 hours ago
by claude
+19.88%
test: cover ReplaceSource multi-source streamChunks path
0cf4d54
13 hours ago
by claude
+22.34%
chore: satisfy prefer-destructuring lint rule in ReplaceSource test
2d5a7ea
13 hours ago
by claude
-17.62%
perf(getFromStreamChunks): keep setAtIndex PACKED to fix combined-inner regression
c897cfc
12 hours ago
by claude
-26.93%
revert(getFromStreamChunks): drop setAtIndex helper, keep inline padding
25e1418
12 hours ago
by claude
+5.26%
perf: re-layer ReplaceSource fast paths + OriginalSource.originalLines + setAtIndex
33508f4
12 hours ago
by claude
-0.23%
test+chore: cover originalLines(), simplify setAtIndex, istanbul-ignore V8 fallback
c47755e
11 hours ago
by claude
+2.14%
chore: istanbul-ignore pre-existing ReplaceSource chunk-skipping edges
4614799
11 hours ago
by claude
-4.23%
test: convert remaining /* istanbul ignore next */ to ignore-else
23e0966
11 hours ago
by claude
-3.49%
test: cover in-chunk multi-line replacement + trailing-remainer same-line cases
f4384e9
11 hours ago
by claude
+0.31%
chore: satisfy no-lonely-if eslint rule from the chunk-skipping refactor
33df884
11 hours ago
by claude
© 2026 CodSpeed Technology
Home Terms Privacy Docs