@@ -18,30 +18,34 @@ npm i undici
18
18
## Benchmarks
19
19
20
20
The benchmark is a simple ` hello world ` [ example] ( benchmarks/benchmark.js ) using a
21
- number of unix sockets (connections) with a pipelining depth of 10 running on Node 16.
22
- The benchmarks below have the [ simd] ( https://github.com/WebAssembly/simd ) feature enabled.
21
+ number of unix sockets (connections) with a pipelining depth of 10 running on Node 20.6.0.
23
22
24
23
### Connections 1
25
24
26
- | Tests | Samples | Result | Tolerance | Difference with slowest |
27
- | ---------------------| ---------| ---------------| -----------| -------------------------|
28
- | http - no keepalive | 15 | 4.63 req/sec | ± 2.77 % | - |
29
- | http - keepalive | 10 | 4.81 req/sec | ± 2.16 % | + 3.94 % |
30
- | undici - stream | 25 | 62.22 req/sec | ± 2.67 % | + 1244.58 % |
31
- | undici - dispatch | 15 | 64.33 req/sec | ± 2.47 % | + 1290.24 % |
32
- | undici - request | 15 | 66.08 req/sec | ± 2.48 % | + 1327.88 % |
33
- | undici - pipeline | 10 | 66.13 req/sec | ± 1.39 % | + 1329.08 % |
25
+
26
+ │ Tests │ Samples │ Result │ Tolerance │ Difference with slowest │
27
+ | ─────────────────────| ─────────| ───────────────| ───────────| ─────────────────────────|
28
+ │ http - no keepalive │ 15 │ 5.32 req/sec │ ± 2.61 % │ - │
29
+ │ http - keepalive │ 10 │ 5.35 req/sec │ ± 2.47 % │ + 0.44 % │
30
+ │ undici - fetch │ 15 │ 41.85 req/sec │ ± 2.49 % │ + 686.04 % │
31
+ │ undici - pipeline │ 40 │ 50.36 req/sec │ ± 2.77 % │ + 845.92 % │
32
+ │ undici - stream │ 15 │ 60.58 req/sec │ ± 2.75 % │ + 1037.72 % │
33
+ │ undici - request │ 10 │ 61.19 req/sec │ ± 2.60 % │ + 1049.24 % │
34
+ │ undici - dispatch │ 20 │ 64.84 req/sec │ ± 2.81 % │ + 1117.81 % │
35
+
34
36
35
37
### Connections 50
36
38
37
- | Tests | Samples | Result | Tolerance | Difference with slowest |
38
- | ---------------------| ---------| ------------------| -----------| -------------------------|
39
- | http - no keepalive | 50 | 3546.49 req/sec | ± 2.90 % | - |
40
- | http - keepalive | 15 | 5692.67 req/sec | ± 2.48 % | + 60.52 % |
41
- | undici - pipeline | 25 | 8478.71 req/sec | ± 2.62 % | + 139.07 % |
42
- | undici - request | 20 | 9766.66 req/sec | ± 2.79 % | + 175.39 % |
43
- | undici - stream | 15 | 10109.74 req/sec | ± 2.94 % | + 185.06 % |
44
- | undici - dispatch | 25 | 10949.73 req/sec | ± 2.54 % | + 208.75 % |
39
+ │ Tests │ Samples │ Result │ Tolerance │ Difference with slowest │
40
+ | ─────────────────────| ─────────| ──────────────────| ───────────| ─────────────────────────|
41
+ │ undici - fetch │ 30 │ 2107.19 req/sec │ ± 2.69 % │ - │
42
+ │ http - no keepalive │ 10 │ 2698.90 req/sec │ ± 2.68 % │ + 28.08 % │
43
+ │ http - keepalive │ 10 │ 4639.49 req/sec │ ± 2.55 % │ + 120.17 % │
44
+ │ undici - pipeline │ 40 │ 6123.33 req/sec │ ± 2.97 % │ + 190.59 % │
45
+ │ undici - stream │ 50 │ 9426.51 req/sec │ ± 2.92 % │ + 347.35 % │
46
+ │ undici - request │ 10 │ 10162.88 req/sec │ ± 2.13 % │ + 382.29 % │
47
+ │ undici - dispatch │ 50 │ 11191.11 req/sec │ ± 2.98 % │ + 431.09 % │
48
+
45
49
46
50
## Quick Start
47
51
0 commit comments