Avatar for the kamiazya user
kamiazya
web-csv-toolbox
BlogDocsChangelog

feat: WASM hybrid approach with Lexer and Assembler

#607Closed
Comparing
feat/port-wasm-binary-processing
(
b9fb576
) with
main
(
24f04d7
)
CodSpeed Performance Gauge
Ɨ2.2
Improvement
2
Untouched
62
New
1
Skipped
9

Benchmarks

74 total
parseString.toArraySync(100 cols, 50 rows, quoted)
benchmark/main.ts
CodSpeed Performance Gauge
Ɨ2.2
37.2 ms17.3 ms
parseString.toArraySync(50 cols, 50 rows, quoted)
benchmark/main.ts
CodSpeed Performance Gauge
Ɨ2.1
18.5 ms8.7 ms
parseString.toArraySync(wasm, 50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
N/A
N/A1.6 ms
parseString.toIterableIterator(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+42%
2 ms1.4 ms
Worker perf: medium (1000 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
+40%
31.1 ms22.3 ms
Queuing: small (100 rows) - default HWM
benchmark/main.ts
CodSpeed Performance Gauge
+28%
30.4 ms23.8 ms
Queuing: medium (1000 rows) - default HWM
benchmark/main.ts
CodSpeed Performance Gauge
+18%
277.9 ms235.2 ms
Concurrent: Sequential mainThread
benchmark/main.ts
CodSpeed Performance Gauge
+14%
39.9 ms35.2 ms
Stream approach: parseBinaryStream (10KB)
benchmark/main.ts
CodSpeed Performance Gauge
+13%
35.9 ms31.7 ms
Concurrent: Parallel mainThread
benchmark/main.ts
CodSpeed Performance Gauge
+12%
39.4 ms35.3 ms
Quote ratio: 50% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+8%
13 ms12.1 ms
Custom delimiter: PSV (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+5%
1.1 ms1.1 ms
Custom delimiter: TSV (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+5%
1.1 ms1.1 ms
Line ending: CRLF (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+5%
18.7 ms17.8 ms
Worker perf: large (10000 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
+4%
241.3 ms231.5 ms
parseString.toArraySync(10000 cols, 10 rows, unquoted)
benchmark/main.ts
CodSpeed Performance Gauge
+3%
381.8 ms369.2 ms
Data transformation: type conversion (100 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
2.5 ms2.4 ms
Stream approach: parseBinaryStream (1KB)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
4.4 ms4.4 ms
Engine comparison: mainThread (500 rows)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
30.4 ms30.2 ms
Binary approach: parseBinary (100KB)
benchmark/main.ts
CodSpeed Performance Gauge
+1%
36 ms35.7 ms
Worker perf: tiny (10 rows) - mainThread
benchmark/main.ts
CodSpeed Performance Gauge
0%
350.9 µs349.2 µs
Binary approach: parseBinary (10KB)
benchmark/main.ts
CodSpeed Performance Gauge
0%
3.7 ms3.7 ms
parseBinary.toIterableIterator(50 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
1.1 ms1.1 ms
Quote ratio: 100% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
12.6 ms12.6 ms
Quote ratio: 0% (1000 rows)
benchmark/main.ts
CodSpeed Performance Gauge
0%
11.6 ms11.5 ms

Commits

Click on a commit to change the comparison range
Base
main
24f04d7
-72.51%
feat(api): add engine option to factory functions and improve WASM validation
7434655
4 months ago
by kamiazya
+19.84%
fix(wasm): require explicit WASM initialization before using WASM parsers
5070186
4 months ago
by kamiazya
Ɨ2.7
chore(changeset): update to focus on WASM implementation
b9fb576
4 months ago
by kamiazya
Ā© 2026 CodSpeed Technology
Home Terms Privacy Docs