Avatar for the webpack user
webpack
webpack-sources
BlogDocsChangelog

feat: implement buffers() for RawSource, OriginalSource, PrefixSource, ReplaceSource, SourceMapSource

#211Merged
Comparing
claude/implement-class-buffers-m0Q32
(
e2addd5
) with
main
(
72ce205
)
CodSpeed Performance Gauge
-36%
Improvement
3
Regression
1
Untouched
157
New
12

Benchmarks

173 total
replace-source: original()
benchmark/cases/replace-source/index.bench.mjs
CodSpeed Performance Gauge
-36%
123.6 µs192.4 µs
concat-source: buffers() (nested 4x10 raw)
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
+61%
210.9 µs131 µs
concat-source: buffers() (10 raw)
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
+44%
120.5 µs83.8 µs
replace-source: getReplacements()
benchmark/cases/replace-source/index.bench.mjs
CodSpeed Performance Gauge
+29%
1,256.5 µs974 µs
original-source: buffers() (from buffer)
benchmark/cases/original-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A88.8 µs
original-source: buffers() (from string)
benchmark/cases/original-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A2.5 ms
prefix-source: buffers()
benchmark/cases/prefix-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A3.4 ms
raw-source: buffers() (from string)
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A2.5 ms
raw-source: buffers() cached
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A170.5 µs
raw-source: buffers() (from buffer)
benchmark/cases/raw-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A93.3 µs
replace-source: buffer() (no replacements)
benchmark/cases/replace-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A4.9 ms
replace-source: buffers() (no replacements)
benchmark/cases/replace-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A4.9 ms
replace-source: buffers() (1000 small replacements)
benchmark/cases/replace-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A4.5 ms
size-only-source: buffers() (throws)
benchmark/cases/size-only-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A1.8 ms
source-map-source: buffers() (from string)
benchmark/cases/source-map-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A2.6 ms
source-map-source: buffers() (from buffer)
benchmark/cases/source-map-source/index.bench.mjs
CodSpeed Performance Gauge
N/A
N/A174.8 µs
concat-source: source() (10 raw)
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
+7%
130 µs121.5 µs
prefix-source: size()
benchmark/cases/prefix-source/index.bench.mjs
CodSpeed Performance Gauge
+6%
3.6 ms3.4 ms
prefix-source: buffer()
benchmark/cases/prefix-source/index.bench.mjs
CodSpeed Performance Gauge
+6%
3.6 ms3.4 ms
concat-source: nested flattening
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
+5%
716.3 µs679.7 µs
concat-source: source() (mixed)
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
+4%
127.1 µs122.2 µs
concat-source: size()
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
+3%
203.6 µs198.6 µs
cached-source: buffers() (cold, wraps ConcatSource x10)
benchmark/cases/cached-source/index.bench.mjs
CodSpeed Performance Gauge
+1%
5.1 ms5 ms
realistic-source-map-pipeline: cold buffers() (Cached->Concat->Cached->Concat)
benchmark/cases/realistic-source-map-pipeline/index.bench.mjs
CodSpeed Performance Gauge
+1%
1.2 ms1.2 ms
concat-source: buffer() (nested 4x10 raw)
benchmark/cases/concat-source/index.bench.mjs
CodSpeed Performance Gauge
+1%
8.5 ms8.4 ms

Commits

Click on a commit to change the comparison range
Base
main
72ce205
-83.54%
perf(prefix-source): implement buffer() and buffers() directly on buffers
81fe063
17 days ago
by claude
×2.1
revert: drop PrefixSource.buffer() override that was slower than the default
728aed5
17 days ago
by claude
+0.12%
test(benchmark): add replace-source buffer() (no replacements) case
e531a52
17 days ago
by claude
-65.2%
perf(prefix-source): cache buffer() and buffers() to address efficient-buffer TODO
0ec6dbd
17 days ago
by claude
+1.82%
revert(prefix-source): drop buffer()/buffers() caching — unsafe with mutable child
6200614
17 days ago
by claude
-10.16%
refactor: code
9a37395
17 days ago
by alexander-akait
-31.99%
perf(prefix-source): implement buffer() that beats the Source default by ~17%
683c2b7
17 days ago
by claude
+41.65%
revert(prefix-source): drop buffer() override — CodSpeed regressed -77%
55044b4
17 days ago
by claude
+63.87%
perf(prefix-source): use V8 fast-path regex (no lookahead) in source()
dac0eb8
17 days ago
by claude
-63.01%
perf(concat-source): replace for-of in buffers() with indexed loops
c29e061
17 days ago
by claude
-1.12%
perf(concat-source): apply indexed-loop pattern to source(), size(), updateHash()
086ac8c
17 days ago
by claude
+97.05%
chore: update entry
eb48637
17 days ago
by alexander-akait
-96.72%
refactor: update jsdoc comments
e2addd5
17 days ago
by alexander-akait
© 2026 CodSpeed Technology
Home Terms Privacy Docs