@@ -94,29 +94,43 @@ fast-uri supports inserting custom [scheme](http://en.wikipedia.org/wiki/URI_sch
9494## Benchmarks
9595
9696```
97- fast-uri: parse domain x 1,306,864 ops/sec ±0.31% (100 runs sampled)
98- urijs: parse domain x 483,001 ops/sec ±0.09% (99 runs sampled)
99- WHATWG URL: parse domain x 862,461 ops/sec ±0.18% (97 runs sampled)
100- fast-uri: parse IPv4 x 2,381,452 ops/sec ±0.26% (96 runs sampled)
101- urijs: parse IPv4 x 384,705 ops/sec ±0.34% (99 runs sampled)
102- WHATWG URL: parse IPv4 NOT SUPPORTED
103- fast-uri: parse IPv6 x 923,519 ops/sec ±0.09% (100 runs sampled)
104- urijs: parse IPv6 x 289,070 ops/sec ±0.07% (95 runs sampled)
105- WHATWG URL: parse IPv6 NOT SUPPORTED
106- fast-uri: parse URN x 2,596,395 ops/sec ±0.42% (98 runs sampled)
107- urijs: parse URN x 1,152,412 ops/sec ±0.09% (97 runs sampled)
108- WHATWG URL: parse URN x 1,183,307 ops/sec ±0.38% (100 runs sampled)
109- fast-uri: parse URN uuid x 1,666,861 ops/sec ±0.10% (98 runs sampled)
110- urijs: parse URN uuid x 852,724 ops/sec ±0.17% (95 runs sampled)
111- WHATWG URL: parse URN uuid NOT SUPPORTED
112- fast-uri: serialize uri x 1,741,499 ops/sec ±0.57% (95 runs sampled)
113- urijs: serialize uri x 389,014 ops/sec ±0.28% (93 runs sampled)
114- fast-uri: serialize IPv6 x 441,095 ops/sec ±0.37% (97 runs sampled)
115- urijs: serialize IPv6 x 255,443 ops/sec ±0.58% (94 runs sampled)
116- fast-uri: serialize ws x 1,448,667 ops/sec ±0.25% (97 runs sampled)
117- urijs: serialize ws x 352,884 ops/sec ±0.08% (96 runs sampled)
118- fast-uri: resolve x 340,084 ops/sec ±0.98% (98 runs sampled)
119- urijs: resolve x 225,759 ops/sec ±0.37% (95 runs sampled)
97+ fast-uri benchmark
98+ ┌─────────┬──────────────────────────────────────────┬──────────────────┬──────────────────┬────────────────────────┬────────────────────────┬─────────┐
99+ │ (index) │ Task name │ Latency avg (ns) │ Latency med (ns) │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
100+ ├─────────┼──────────────────────────────────────────┼──────────────────┼──────────────────┼────────────────────────┼────────────────────────┼─────────┤
101+ │ 0 │ 'fast-uri: parse domain' │ '966.56 ± 0.76%' │ '888.00 ± 10.00' │ '1102014 ± 0.01%' │ '1126126 ± 12826' │ 1034600 │
102+ │ 1 │ 'fast-uri: parse IPv4' │ '697.95 ± 0.44%' │ '625.00 ± 8.00' │ '1562449 ± 0.01%' │ '1600000 ± 20221' │ 1432761 │
103+ │ 2 │ 'fast-uri: parse IPv6' │ '1319.9 ± 2.85%' │ '1180.0 ± 13.00' │ '834310 ± 0.02%' │ '847458 ± 9235' │ 757626 │
104+ │ 3 │ 'fast-uri: parse URN' │ '690.06 ± 0.23%' │ '636.00 ± 10.00' │ '1542937 ± 0.01%' │ '1572327 ± 25117' │ 1449157 │
105+ │ 4 │ 'fast-uri: parse URN uuid' │ '1047.2 ± 3.37%' │ '936.00 ± 18.00' │ '1050646 ± 0.02%' │ '1068376 ± 20158' │ 954915 │
106+ │ 5 │ 'fast-uri: serialize uri' │ '1138.6 ± 4.45%' │ '1005.0 ± 13.00' │ '973816 ± 0.02%' │ '995025 ± 12707' │ 878304 │
107+ │ 6 │ 'fast-uri: serialize long uri with dots' │ '1773.7 ± 0.36%' │ '1634.0 ± 14.00' │ '601087 ± 0.02%' │ '611995 ± 5289' │ 563798 │
108+ │ 7 │ 'fast-uri: serialize IPv6' │ '2532.7 ± 0.46%' │ '2334.0 ± 19.00' │ '421133 ± 0.03%' │ '428449 ± 3460' │ 394843 │
109+ │ 8 │ 'fast-uri: serialize ws' │ '1019.8 ± 2.06%' │ '926.00 ± 9.00' │ '1062555 ± 0.02%' │ '1079914 ± 10395' │ 980564 │
110+ │ 9 │ 'fast-uri: resolve' │ '2169.3 ± 0.49%' │ '1994.0 ± 21.00' │ '492756 ± 0.03%' │ '501505 ± 5338' │ 460987 │
111+ └─────────┴──────────────────────────────────────────┴──────────────────┴──────────────────┴────────────────────────┴────────────────────────┴─────────┘
112+ uri-js benchmark
113+ ┌─────────┬───────────────────────────────────────┬──────────────────┬──────────────────┬────────────────────────┬────────────────────────┬─────────┐
114+ │ (index) │ Task name │ Latency avg (ns) │ Latency med (ns) │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
115+ ├─────────┼───────────────────────────────────────┼──────────────────┼──────────────────┼────────────────────────┼────────────────────────┼─────────┤
116+ │ 0 │ 'urijs: parse domain' │ '3618.3 ± 0.43%' │ '3314.0 ± 33.00' │ '294875 ± 0.04%' │ '301750 ± 2975' │ 276375 │
117+ │ 1 │ 'urijs: parse IPv4' │ '4024.1 ± 0.41%' │ '3751.0 ± 25.00' │ '261981 ± 0.04%' │ '266596 ± 1789' │ 248506 │
118+ │ 2 │ 'urijs: parse IPv6' │ '5417.2 ± 0.46%' │ '4968.0 ± 43.00' │ '196023 ± 0.05%' │ '201288 ± 1727' │ 184598 │
119+ │ 3 │ 'urijs: parse URN' │ '1324.2 ± 0.23%' │ '1229.0 ± 17.00' │ '801535 ± 0.02%' │ '813670 ± 11413' │ 755185 │
120+ │ 4 │ 'urijs: parse URN uuid' │ '1822.0 ± 3.08%' │ '1655.0 ± 15.00' │ '594433 ± 0.02%' │ '604230 ± 5427' │ 548843 │
121+ │ 5 │ 'urijs: serialize uri' │ '4196.8 ± 0.36%' │ '3908.0 ± 27.00' │ '251146 ± 0.04%' │ '255885 ± 1756' │ 238276 │
122+ │ 6 │ 'urijs: serialize long uri with dots' │ '8331.0 ± 1.30%' │ '7658.0 ± 72.00' │ '126440 ± 0.07%' │ '130582 ± 1239' │ 120034 │
123+ │ 7 │ 'urijs: serialize IPv6' │ '5685.5 ± 0.30%' │ '5366.0 ± 33.00' │ '182632 ± 0.05%' │ '186359 ± 1153' │ 175886 │
124+ │ 8 │ 'urijs: serialize ws' │ '4159.3 ± 0.20%' │ '3899.0 ± 28.00' │ '250459 ± 0.04%' │ '256476 ± 1855' │ 240423 │
125+ │ 9 │ 'urijs: resolve' │ '6729.9 ± 0.39%' │ '6261.0 ± 37.00' │ '156361 ± 0.06%' │ '159719 ± 949' │ 148591 │
126+ └─────────┴───────────────────────────────────────┴──────────────────┴──────────────────┴────────────────────────┴────────────────────────┴─────────┘
127+ WHATWG URL benchmark
128+ ┌─────────┬────────────────────────────┬──────────────────┬──────────────────┬────────────────────────┬────────────────────────┬─────────┐
129+ │ (index) │ Task name │ Latency avg (ns) │ Latency med (ns) │ Throughput avg (ops/s) │ Throughput med (ops/s) │ Samples │
130+ ├─────────┼────────────────────────────┼──────────────────┼──────────────────┼────────────────────────┼────────────────────────┼─────────┤
131+ │ 0 │ 'WHATWG URL: parse domain' │ '475.22 ± 0.20%' │ '444.00 ± 5.00' │ '2217599 ± 0.01%' │ '2252252 ± 25652' │ 2104289 │
132+ │ 1 │ 'WHATWG URL: parse URN' │ '384.78 ± 0.85%' │ '350.00 ± 5.00' │ '2809071 ± 0.01%' │ '2857143 ± 41408' │ 2598885 │
133+ └─────────┴────────────────────────────┴──────────────────┴──────────────────┴────────────────────────┴────────────────────────┴─────────┘
120134```
121135
122136## TODO
0 commit comments