@@ -22,41 +22,26 @@ npm i undici
2222## Benchmarks
2323
2424The benchmark is a simple getting data [ example] ( https://github.com/nodejs/undici/blob/main/benchmarks/benchmark.js ) using a
25- 50 TCP connections with a pipelining depth of 10 running on Node 20.10.0.
26-
27- | _ Tests_ | _ Samples_ | _ Result_ | _ Tolerance_ | _ Difference with slowest_ |
28- | :-----------------: | :-------: | :--------------: | :---------: | :-----------------------: |
29- | undici - fetch | 30 | 3704.43 req/sec | ± 2.95 % | - |
30- | http - no keepalive | 20 | 4275.30 req/sec | ± 2.60 % | + 15.41 % |
31- | node-fetch | 10 | 4759.42 req/sec | ± 0.87 % | + 28.48 % |
32- | request | 40 | 4803.37 req/sec | ± 2.77 % | + 29.67 % |
33- | axios | 45 | 4951.97 req/sec | ± 2.88 % | + 33.68 % |
34- | got | 10 | 5969.67 req/sec | ± 2.64 % | + 61.15 % |
35- | superagent | 10 | 9471.48 req/sec | ± 1.50 % | + 155.68 % |
36- | http - keepalive | 25 | 10327.49 req/sec | ± 2.95 % | + 178.79 % |
37- | undici - pipeline | 10 | 15053.41 req/sec | ± 1.63 % | + 306.36 % |
38- | undici - request | 10 | 19264.24 req/sec | ± 1.74 % | + 420.03 % |
39- | undici - stream | 15 | 20317.29 req/sec | ± 2.13 % | + 448.46 % |
40- | undici - dispatch | 10 | 24883.28 req/sec | ± 1.54 % | + 571.72 % |
41-
42- The benchmark is a simple sending data [ example] ( https://github.com/nodejs/undici/blob/main/benchmarks/post-benchmark.js ) using a
43- 50 TCP connections with a pipelining depth of 10 running on Node 20.10.0.
44-
45- | _ Tests_ | _ Samples_ | _ Result_ | _ Tolerance_ | _ Difference with slowest_ |
46- | :-----------------: | :-------: | :-------------: | :---------: | :-----------------------: |
47- | undici - fetch | 20 | 1968.42 req/sec | ± 2.63 % | - |
48- | http - no keepalive | 25 | 2330.30 req/sec | ± 2.99 % | + 18.38 % |
49- | node-fetch | 20 | 2485.36 req/sec | ± 2.70 % | + 26.26 % |
50- | got | 15 | 2787.68 req/sec | ± 2.56 % | + 41.62 % |
51- | request | 30 | 2805.10 req/sec | ± 2.59 % | + 42.50 % |
52- | axios | 10 | 3040.45 req/sec | ± 1.72 % | + 54.46 % |
53- | superagent | 20 | 3358.29 req/sec | ± 2.51 % | + 70.61 % |
54- | http - keepalive | 20 | 3477.94 req/sec | ± 2.51 % | + 76.69 % |
55- | undici - pipeline | 25 | 3812.61 req/sec | ± 2.80 % | + 93.69 % |
56- | undici - request | 10 | 6067.00 req/sec | ± 0.94 % | + 208.22 % |
57- | undici - stream | 10 | 6391.61 req/sec | ± 1.98 % | + 224.71 % |
58- | undici - dispatch | 10 | 6397.00 req/sec | ± 1.48 % | + 224.98 % |
25+ 50 TCP connections with a pipelining depth of 10 running on Node 22.11.0.
5926
27+ ```
28+ ┌────────────────────────┬─────────┬────────────────────┬────────────┬─────────────────────────┐
29+ │ Tests │ Samples │ Result │ Tolerance │ Difference with slowest │
30+ ├────────────────────────┼─────────┼────────────────────┼────────────┼─────────────────────────┤
31+ │ 'axios' │ 15 │ '5708.26 req/sec' │ '± 2.91 %' │ '-' │
32+ │ 'http - no keepalive' │ 10 │ '5809.80 req/sec' │ '± 2.30 %' │ '+ 1.78 %' │
33+ │ 'request' │ 30 │ '5828.80 req/sec' │ '± 2.91 %' │ '+ 2.11 %' │
34+ │ 'undici - fetch' │ 40 │ '5903.78 req/sec' │ '± 2.87 %' │ '+ 3.43 %' │
35+ │ 'node-fetch' │ 10 │ '5945.40 req/sec' │ '± 2.13 %' │ '+ 4.15 %' │
36+ │ 'got' │ 35 │ '6511.45 req/sec' │ '± 2.84 %' │ '+ 14.07 %' │
37+ │ 'http - keepalive' │ 65 │ '9193.24 req/sec' │ '± 2.92 %' │ '+ 61.05 %' │
38+ │ 'superagent' │ 35 │ '9339.43 req/sec' │ '± 2.95 %' │ '+ 63.61 %' │
39+ │ 'undici - pipeline' │ 50 │ '13364.62 req/sec' │ '± 2.93 %' │ '+ 134.13 %' │
40+ │ 'undici - stream' │ 95 │ '18245.36 req/sec' │ '± 2.99 %' │ '+ 219.63 %' │
41+ │ 'undici - request' │ 50 │ '18340.17 req/sec' │ '± 2.84 %' │ '+ 221.29 %' │
42+ │ 'undici - dispatch' │ 40 │ '22234.42 req/sec' │ '± 2.94 %' │ '+ 289.51 %' │
43+ └────────────────────────┴─────────┴────────────────────┴────────────┴─────────────────────────┘
44+ ```
6045
6146## Quick Start
6247
0 commit comments