kamiazya
web-csv-toolbox
BlogDocsChangelog

GitHub Actions run

9 hours ago cafd991 feat/api-consistency-binary-stream pull_request

Compare

Base
Search a run

Head
feat!: rename binary stream APIs for consistency and add BufferSource support
#603
feat/api-consistency-binary-stream
9 hours ago
CPU Simulation

Compare
Suggested base runs: • •

Skipped (8)

Benchmarks

parseString.toArraySync(10 cols, 50 rows, unquoted)
benchmark/main.ts
1.8 ms
Binary approach: parseBinary (10KB)
benchmark/main.ts
3.7 ms
Binary approach: parseBinary (1MB)
benchmark/main.ts
371.9 ms
Stream approach: parseBinaryStream (10KB)
benchmark/main.ts
32.9 ms
Concurrent: Parallel mainThread
benchmark/main.ts
35 ms
Binary approach: parseBinary (100KB)
benchmark/main.ts
35.8 ms
Scaling: 500 rows
benchmark/main.ts
17.6 ms
Concurrent: Sequential mainThread
benchmark/main.ts
35.7 ms
parseString.toArraySync(10 cols, 50 rows, quoted)
benchmark/main.ts
11.8 ms
Binary approach: parseBinary (1KB)
benchmark/main.ts
461 µs
Custom delimiter: PSV (100 rows)
benchmark/main.ts
1.1 ms
parseString.toArraySync(10000 cols, 10 rows, unquoted)
benchmark/main.ts
374.6 ms
Stream approach: parseBinaryStream (100KB)
benchmark/main.ts
319.2 ms
Scaling: 5000 rows
benchmark/main.ts
162.5 ms
parseString.toArraySync(100 cols, 50 rows, quoted)
benchmark/main.ts
37.3 ms
parseString.toArraySync(100 cols, 50 rows, unquoted)
benchmark/main.ts
16.7 ms
Stream approach: parseBinaryStream (1KB)
benchmark/main.ts
4.4 ms
parseString.toArraySync(50 cols, 50 rows, quoted)
benchmark/main.ts
18.6 ms
Data transformation: no conversion (100 rows)
benchmark/main.ts
2.6 ms
Data transformation: type conversion (100 rows)
benchmark/main.ts
2.7 ms
parseString.toArraySync(10000 cols, 10 rows, quoted)
benchmark/main.ts
444.8 ms
parseStringStream: medium (1000 rows)
benchmark/main.ts
181.1 ms
parseString.toIterableIterator(50 rows)
benchmark/main.ts
1.4 ms
parseString.toArraySync(50 rows)
benchmark/main.ts
2.7 ms
Stream approach: parseBinaryStream (1MB)
benchmark/main.ts
3.1 s
Custom delimiter: TSV (100 rows)
benchmark/main.ts
1 ms
Worker perf: large (10000 rows) - mainThread
benchmark/main.ts
193 ms
parseString.toStream(50 rows)
benchmark/main.ts
2.3 ms
Engine comparison: wasm (5000 rows)
benchmark/main.ts
167.3 ms
parseString.toArraySync(50 cols, 50 rows, unquoted)
benchmark/main.ts
8.3 ms
parseStringToArraySyncWASM(50 rows)
benchmark/main.ts
1.5 ms
Worker perf: medium (1000 rows) - mainThread
benchmark/main.ts
35.6 ms
Worker perf: tiny (10 rows) - mainThread
benchmark/main.ts
381.4 µs
Low-level: CSVLexer only (1000 rows)
benchmark/main.ts
18 ms
Engine comparison: mainThread (5000 rows)
benchmark/main.ts
156.7 ms
parseStringStream: small (100 rows)
benchmark/main.ts
19.1 ms
Worker perf: small (100 rows) - mainThread
benchmark/main.ts
2.4 ms
Engine comparison: wasm (500 rows)
benchmark/main.ts
9.1 ms
Field length: 10 chars (1000 rows)
benchmark/main.ts
12.1 ms
Engine comparison: mainThread (500 rows)
benchmark/main.ts
17.3 ms
parseBinary.toArraySync(50 rows)
benchmark/main.ts
2.5 ms
Memory: toArraySync (allocate all at once)
benchmark/main.ts
27.9 ms
Line ending: LF (1000 rows)
benchmark/main.ts
8.9 ms
Field length: 100 chars (1000 rows)
benchmark/main.ts
14.1 ms
Field length: 1KB (1000 rows)
benchmark/main.ts
27.7 ms
Quote ratio: 0% (1000 rows)
benchmark/main.ts
11.6 ms
Low-level: CSVLexer + CSVRecordAssembler (1000 rows)
benchmark/main.ts
27.6 ms
Memory: toIterableIterator (streaming)
benchmark/main.ts
27.9 ms
Queuing: medium (1000 rows) - default HWM
benchmark/main.ts
225.5 ms
Queuing: small (100 rows) - default HWM
benchmark/main.ts
27.6 ms
Field length: 10KB (100 rows)
benchmark/main.ts
16.7 ms
parseBinary.toIterableIterator(50 rows)
benchmark/main.ts
1.1 ms
Quote ratio: 100% (1000 rows)
benchmark/main.ts
12.6 ms
Scaling: 100 rows
benchmark/main.ts
3.4 ms
parseBinary.toStream(50 rows)
benchmark/main.ts
2.2 ms
parseString engine:fast (1000 rows)
benchmark/main.ts
13.8 ms
parseString engine:fast (50 rows)
benchmark/main.ts
1.3 ms
Queuing: large (10000 rows) - default HWM
benchmark/main.ts
2.4 s
Line ending: CRLF (1000 rows)
benchmark/main.ts
18 ms
Quote ratio: 50% (1000 rows)
benchmark/main.ts
13.2 ms
Scaling: 50 rows
benchmark/main.ts
1.7 ms
parseString engine:stable (1000 rows)
benchmark/main.ts
21.5 ms
Quote ratio: 25% (1000 rows)
benchmark/main.ts
12.2 ms
Scaling: 1000 rows
benchmark/main.ts
34.1 ms
parseString engine:stable (50 rows)
benchmark/main.ts
1.1 ms
© 2025 CodSpeed Technology
Home Terms Privacy Docs