Commit 4daed1c
committed
feat(bson): decrease threshold to when TextDecoder is used to decoder utf8
This increases performance dramatically for anything bigger than 8 bytes.
Old:
🏎 x 13,430,773.15 ops/sec ±0.53% 0.0000000744558775 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 8 bytes
🏎 x 8,041,107.43 ops/sec ±0.35% 0.00000012436098 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 16 bytes
🏎 x 5,014,819.93 ops/sec ±0.35% 0.0000001994089545 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 32 bytes
🏎 x 2,874,768.67 ops/sec ±1.13% 0.0000003478540759 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 64 bytes
🏎 x 1,526,007.11 ops/sec ±1.41% 0.0000006553049416 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 128 bytes
🏎 x 796,015.79 ops/sec ±1.41% 0.0000012562564796 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 256 bytes
🏎 x 403,319.26 ops/sec ±4.56% 0.0000024794253695 sec/op ▆▆▇▅▅▅▆▅▆▆▆▆▅▆▆▆▆▆▆▆▅▅▅ decodeUTF8 512 bytes
🏎 x 6,315,228.55 ops/sec ±0.32% 0.0000001583473967 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 513 bytes
🏎 x 4,742,931.02 ops/sec ±1.36% 0.0000002108400895 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 1024 bytes
New:
🏎 x 14,662,145.39 ops/sec ±0.85% 0.000000068202843 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 8 bytes
🏎 x 11,979,008.35 ops/sec ±0.71% 0.0000000834793641 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 16 bytes
🏎 x 11,702,257.92 ops/sec ±1.03% 0.0000000854535942 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 32 bytes
🏎 x 11,338,091.96 ops/sec ±0.89% 0.0000000881982616 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 64 bytes
🏎 x 10,793,880.52 ops/sec ±0.62% 0.000000092645087 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 128 bytes
🏎 x 9,708,723.67 ops/sec ±0.40% 0.0000001030001506 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 256 bytes
🏎 x 8,184,335.32 ops/sec ±0.59% 0.0000001221846321 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 512 bytes
🏎 x 8,155,085.35 ops/sec ±0.64% 0.0000001226228736 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 513 bytes
🏎 x 5,706,045.52 ops/sec ±0.70% 0.0000001752527205 sec/op ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ decodeUTF8 1024 bytes1 parent 3138671 commit 4daed1c
2 files changed
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
0 commit comments