kamiazya
web-csv-toolbox
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
feat!: rename binary stream APIs for consistency and add BufferSource support
#603
Merged
Comparing
feat/api-consistency-binary-stream
(
cafd991
) with
main
(
fcc34de
)
CodSpeed Performance Gauge
-68%
Improvements
5
Regressions
2
Untouched
54
New
4
Skipped
8
Benchmarks
Skipped (8)
Failed
parseString.toArraySync(10 cols, 50 rows, quoted)
benchmark/main.ts
Regression
CodSpeed Performance Gauge
-68%
3.7 ms
11.8 ms
parseBinary.toArraySync(50 rows)
benchmark/main.ts
Regression
CodSpeed Performance Gauge
-61%
980.4 µs
2,524.6 µs
Improved
Memory: toArraySync (allocate all at once)
benchmark/main.ts
CodSpeed Performance Gauge
×3.8
105.1 ms
27.9 ms
parseString engine:stable (50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
×2.4
2.5 ms
1.1 ms
parseString engine:fast (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
×2.2
30.1 ms
13.8 ms
Engine comparison: mainThread (500 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+90%
33 ms
17.3 ms
Binary approach: parseBinary (1KB)
benchmark/main.ts
CodSpeed Performance Gauge
+85%
853.2 µs
461 µs
New
Stream approach: parseBinaryStream (10KB)
benchmark/main.ts
CodSpeed Performance Gauge
N/A
N/A
32.9 ms
Stream approach: parseBinaryStream (100KB)
benchmark/main.ts
CodSpeed Performance Gauge
N/A
N/A
319.2 ms
Stream approach: parseBinaryStream (1KB)
benchmark/main.ts
CodSpeed Performance Gauge
N/A
N/A
4.4 ms
Stream approach: parseBinaryStream (1MB)
benchmark/main.ts
CodSpeed Performance Gauge
N/A
N/A
3.1 s
Passed
Quote ratio: 100% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+26%
15.9 ms
12.6 ms
Scaling: 100 rows
benchmark/main.ts
CodSpeed Performance Gauge
+26%
4.2 ms
3.4 ms
Scaling: 500 rows
benchmark/main.ts
CodSpeed Performance Gauge
+25%
22 ms
17.6 ms
Scaling: 1000 rows
benchmark/main.ts
CodSpeed Performance Gauge
+25%
42.6 ms
34.1 ms
Quote ratio: 0% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+25%
14.4 ms
11.6 ms
Scaling: 50 rows
benchmark/main.ts
CodSpeed Performance Gauge
+25%
2.2 ms
1.7 ms
Quote ratio: 25% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+24%
15.2 ms
12.2 ms
Data transformation: no conversion (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+23%
3.2 ms
2.6 ms
Line ending: LF (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+22%
10.8 ms
8.9 ms
parseString.toArraySync(10 cols, 50 rows, unquoted)
benchmark/main.ts
CodSpeed Performance Gauge
+21%
2.1 ms
1.8 ms
parseString.toArraySync(50 cols, 50 rows, unquoted)
benchmark/main.ts
CodSpeed Performance Gauge
+21%
10.1 ms
8.3 ms
parseString.toArraySync(100 cols, 50 rows, unquoted)
benchmark/main.ts
CodSpeed Performance Gauge
+20%
20.1 ms
16.7 ms
Data transformation: type conversion (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+20%
3.3 ms
2.7 ms
Field length: 10 chars (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+18%
14.3 ms
12.1 ms
parseString.toArraySync(100 cols, 50 rows, quoted)
benchmark/main.ts
CodSpeed Performance Gauge
+15%
42.9 ms
37.3 ms
Scaling: 5000 rows
benchmark/main.ts
CodSpeed Performance Gauge
+13%
184.1 ms
162.5 ms
Queuing: medium (1000 rows) - default HWM
benchmark/main.ts
CodSpeed Performance Gauge
+13%
255.1 ms
225.5 ms
Field length: 100 chars (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+13%
16 ms
14.1 ms
Quote ratio: 50% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+12%
14.8 ms
13.2 ms
Line ending: CRLF (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+10%
19.8 ms
18 ms
Queuing: small (100 rows) - default HWM
benchmark/main.ts
CodSpeed Performance Gauge
+8%
29.8 ms
27.6 ms
Field length: 1KB (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+6%
29.4 ms
27.7 ms
parseString.toArraySync(10000 cols, 10 rows, unquoted)
benchmark/main.ts
CodSpeed Performance Gauge
+3%
385.4 ms
374.6 ms
Field length: 10KB (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
16.9 ms
16.7 ms
Engine comparison: wasm (500 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
9.2 ms
9.1 ms
Concurrent: Parallel mainThread
benchmark/main.ts
CodSpeed Performance Gauge
+1%
35.5 ms
35 ms
Binary approach: parseBinary (1MB)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
375 ms
371.9 ms
Queuing: large (10000 rows) - default HWM
benchmark/main.ts
CodSpeed Performance Gauge
0%
2.4 s
2.4 s
Worker perf: large (10000 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
0%
193.2 ms
193 ms
parseStringToArraySyncWASM(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
1.5 ms
1.5 ms
parseString.toArraySync(50 cols, 50 rows, quoted)
benchmark/main.ts
CodSpeed Performance Gauge
0%
18.6 ms
18.6 ms
Concurrent: Sequential mainThread
benchmark/main.ts
CodSpeed Performance Gauge
0%
35.7 ms
35.7 ms
Custom delimiter: TSV (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
1 ms
1 ms
Low-level: CSVLexer only (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
18 ms
18 ms
Binary approach: parseBinary (100KB)
benchmark/main.ts
CodSpeed Performance Gauge
0%
35.8 ms
35.8 ms
Low-level: CSVLexer + CSVRecordAssembler (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
27.6 ms
27.6 ms
Binary approach: parseBinary (10KB)
benchmark/main.ts
CodSpeed Performance Gauge
0%
3.7 ms
3.7 ms
parseString.toIterableIterator(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
1.4 ms
1.4 ms
Memory: toIterableIterator (streaming)
benchmark/main.ts
CodSpeed Performance Gauge
0%
27.8 ms
27.9 ms
parseStringStream: small (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
18.9 ms
19.1 ms
Custom delimiter: PSV (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
1.1 ms
1.1 ms
parseStringStream: medium (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
179.7 ms
181.1 ms
Engine comparison: mainThread (5000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
155.2 ms
156.7 ms
parseString engine:fast (50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
1.2 ms
1.3 ms
parseString.toStream(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-3%
2.3 ms
2.3 ms
parseBinary.toStream(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-7%
2.1 ms
2.2 ms
parseBinary.toIterableIterator(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-7%
1 ms
1.1 ms
parseString engine:stable (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-8%
19.9 ms
21.5 ms
Worker perf: tiny (10 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
-8%
351.6 µs
381.4 µs
Worker perf: small (100 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
-11%
2.1 ms
2.4 ms
parseString.toArraySync(10000 cols, 10 rows, quoted)
benchmark/main.ts
CodSpeed Performance Gauge
-14%
382.6 ms
444.8 ms
parseString.toArraySync(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-20%
2.1 ms
2.7 ms
Engine comparison: wasm (5000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-32%
113.6 ms
167.3 ms
Worker perf: medium (1000 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
-45%
19.8 ms
35.6 ms
Commits
Click on a commit to change the comparison range
Base
main
fcc34de
-58.14%
style: apply code formatting Applied biome formatting to 6 files. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
55c70d7
17 hours ago
by kamiazya
+5.78%
refactor: import types for CSVArrayRecord and CSVObjectRecord in dynamic tests
553d1ad
10 hours ago
by kamiazya
-15.94%
refactor: reorder import statements for consistency in CSVLexerTransformer
cafd991
9 hours ago
by kamiazya
© 2025 CodSpeed Technology
Home
Terms
Privacy
Docs