kamiazya
web-csv-toolbox
BlogDocsChangelog

feat!: rename binary stream APIs for consistency and add BufferSource support

#603Merged
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 ms11.8 ms
parseBinary.toArraySync(50 rows)
benchmark/main.ts
Regression
CodSpeed Performance Gauge
-61%
980.4 µs2,524.6 µs

Improved

Memory: toArraySync (allocate all at once)
benchmark/main.ts
CodSpeed Performance Gauge
×3.8
105.1 ms27.9 ms
parseString engine:stable (50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
×2.4
2.5 ms1.1 ms
parseString engine:fast (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
×2.2
30.1 ms13.8 ms
Engine comparison: mainThread (500 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+90%
33 ms17.3 ms
Binary approach: parseBinary (1KB)
benchmark/main.ts
CodSpeed Performance Gauge
+85%
853.2 µs461 µs

New

Stream approach: parseBinaryStream (10KB)
benchmark/main.ts
CodSpeed Performance Gauge
N/A
N/A32.9 ms
Stream approach: parseBinaryStream (100KB)
benchmark/main.ts
CodSpeed Performance Gauge
N/A
N/A319.2 ms
Stream approach: parseBinaryStream (1KB)
benchmark/main.ts
CodSpeed Performance Gauge
N/A
N/A4.4 ms
Stream approach: parseBinaryStream (1MB)
benchmark/main.ts
CodSpeed Performance Gauge
N/A
N/A3.1 s

Passed

Quote ratio: 100% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+26%
15.9 ms12.6 ms
Scaling: 100 rows
benchmark/main.ts
CodSpeed Performance Gauge
+26%
4.2 ms3.4 ms
Scaling: 500 rows
benchmark/main.ts
CodSpeed Performance Gauge
+25%
22 ms17.6 ms
Scaling: 1000 rows
benchmark/main.ts
CodSpeed Performance Gauge
+25%
42.6 ms34.1 ms
Quote ratio: 0% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+25%
14.4 ms11.6 ms
Scaling: 50 rows
benchmark/main.ts
CodSpeed Performance Gauge
+25%
2.2 ms1.7 ms
Quote ratio: 25% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+24%
15.2 ms12.2 ms
Data transformation: no conversion (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+23%
3.2 ms2.6 ms
Line ending: LF (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+22%
10.8 ms8.9 ms
parseString.toArraySync(10 cols, 50 rows, unquoted)
benchmark/main.ts
CodSpeed Performance Gauge
+21%
2.1 ms1.8 ms
parseString.toArraySync(50 cols, 50 rows, unquoted)
benchmark/main.ts
CodSpeed Performance Gauge
+21%
10.1 ms8.3 ms
parseString.toArraySync(100 cols, 50 rows, unquoted)
benchmark/main.ts
CodSpeed Performance Gauge
+20%
20.1 ms16.7 ms
Data transformation: type conversion (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+20%
3.3 ms2.7 ms
Field length: 10 chars (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+18%
14.3 ms12.1 ms
parseString.toArraySync(100 cols, 50 rows, quoted)
benchmark/main.ts
CodSpeed Performance Gauge
+15%
42.9 ms37.3 ms
Scaling: 5000 rows
benchmark/main.ts
CodSpeed Performance Gauge
+13%
184.1 ms162.5 ms
Queuing: medium (1000 rows) - default HWM
benchmark/main.ts
CodSpeed Performance Gauge
+13%
255.1 ms225.5 ms
Field length: 100 chars (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+13%
16 ms14.1 ms
Quote ratio: 50% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+12%
14.8 ms13.2 ms
Line ending: CRLF (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+10%
19.8 ms18 ms
Queuing: small (100 rows) - default HWM
benchmark/main.ts
CodSpeed Performance Gauge
+8%
29.8 ms27.6 ms
Field length: 1KB (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+6%
29.4 ms27.7 ms
parseString.toArraySync(10000 cols, 10 rows, unquoted)
benchmark/main.ts
CodSpeed Performance Gauge
+3%
385.4 ms374.6 ms
Field length: 10KB (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
16.9 ms16.7 ms
Engine comparison: wasm (500 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
9.2 ms9.1 ms
Concurrent: Parallel mainThread
benchmark/main.ts
CodSpeed Performance Gauge
+1%
35.5 ms35 ms
Binary approach: parseBinary (1MB)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
375 ms371.9 ms
Queuing: large (10000 rows) - default HWM
benchmark/main.ts
CodSpeed Performance Gauge
0%
2.4 s2.4 s
Worker perf: large (10000 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
0%
193.2 ms193 ms
parseStringToArraySyncWASM(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
1.5 ms1.5 ms
parseString.toArraySync(50 cols, 50 rows, quoted)
benchmark/main.ts
CodSpeed Performance Gauge
0%
18.6 ms18.6 ms
Concurrent: Sequential mainThread
benchmark/main.ts
CodSpeed Performance Gauge
0%
35.7 ms35.7 ms
Custom delimiter: TSV (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
1 ms1 ms
Low-level: CSVLexer only (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
18 ms18 ms
Binary approach: parseBinary (100KB)
benchmark/main.ts
CodSpeed Performance Gauge
0%
35.8 ms35.8 ms
Low-level: CSVLexer + CSVRecordAssembler (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
27.6 ms27.6 ms
Binary approach: parseBinary (10KB)
benchmark/main.ts
CodSpeed Performance Gauge
0%
3.7 ms3.7 ms
parseString.toIterableIterator(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
1.4 ms1.4 ms
Memory: toIterableIterator (streaming)
benchmark/main.ts
CodSpeed Performance Gauge
0%
27.8 ms27.9 ms
parseStringStream: small (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
18.9 ms19.1 ms
Custom delimiter: PSV (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
1.1 ms1.1 ms
parseStringStream: medium (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
179.7 ms181.1 ms
Engine comparison: mainThread (5000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
155.2 ms156.7 ms
parseString engine:fast (50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-1%
1.2 ms1.3 ms
parseString.toStream(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-3%
2.3 ms2.3 ms
parseBinary.toStream(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-7%
2.1 ms2.2 ms
parseBinary.toIterableIterator(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-7%
1 ms1.1 ms
parseString engine:stable (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-8%
19.9 ms21.5 ms
Worker perf: tiny (10 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
-8%
351.6 µs381.4 µs
Worker perf: small (100 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
-11%
2.1 ms2.4 ms
parseString.toArraySync(10000 cols, 10 rows, quoted)
benchmark/main.ts
CodSpeed Performance Gauge
-14%
382.6 ms444.8 ms
parseString.toArraySync(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-20%
2.1 ms2.7 ms
Engine comparison: wasm (5000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
-32%
113.6 ms167.3 ms
Worker perf: medium (1000 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
-45%
19.8 ms35.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