Skip to content

Commit

Permalink
chore: update benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
fengmk2 committed Jun 23, 2024
1 parent f0007c9 commit 8247aa2
Showing 1 changed file with 69 additions and 27 deletions.
96 changes: 69 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,33 +255,75 @@ console.log(response.status, response.headers);

Fork [undici benchmarks script](https://github.com/fengmk2/undici/blob/urllib-benchmark/benchmarks/benchmark.js)

### Connections 1

| Tests | Samples | Result | Tolerance | Difference with slowest |
|---------------------|---------|---------------|-----------|-------------------------|
| http - no keepalive | 15 | 6.38 req/sec | ± 2.44 % | - |
| http - keepalive | 10 | 6.77 req/sec | ± 2.35 % | + 6.13 % |
| urllib2 - request | 45 | 40.13 req/sec | ± 2.88 % | + 528.66 % |
| urllib3 - request | 10 | 58.51 req/sec | ± 2.52 % | + 816.64 % |
| undici - pipeline | 5 | 59.12 req/sec | ± 2.47 % | + 826.18 % |
| undici - fetch | 15 | 60.42 req/sec | ± 3.00 % | + 846.60 % |
| undici - dispatch | 5 | 60.58 req/sec | ± 1.39 % | + 848.99 % |
| undici - stream | 5 | 61.30 req/sec | ± 1.31 % | + 860.39 % |
| undici - request | 5 | 61.74 req/sec | ± 2.03 % | + 867.20 % |

### Connections 50

| Tests | Samples | Result | Tolerance | Difference with slowest |
|---------------------|---------|------------------|-----------|-------------------------|
| urllib2 - request | 51 | 1465.40 req/sec | ± 14.40 % | - |
| undici - fetch | 40 | 3121.10 req/sec | ± 2.82 % | + 112.99 % |
| http - no keepalive | 45 | 3355.42 req/sec | ± 2.84 % | + 128.98 % |
| http - keepalive | 51 | 5179.55 req/sec | ± 36.61 % | + 253.46 % |
| urllib3 - request | 30 | 7045.86 req/sec | ± 2.93 % | + 380.82 % |
| undici - pipeline | 50 | 8306.92 req/sec | ± 2.99 % | + 466.87 % |
| undici - request | 51 | 9552.59 req/sec | ± 13.13 % | + 551.88 % |
| undici - stream | 45 | 12523.45 req/sec | ± 2.97 % | + 754.61 % |
| undici - dispatch | 51 | 12970.18 req/sec | ± 3.15 % | + 785.10 % |
> undici@6.19.2
```bash
Node.js v18.20.3

┌─────────┬───────────────────────┬─────────┬────────────────────┬─────────────┬─────────────────────────┐
│ (index) │ Tests │ Samples │ Result │ Tolerance │ Difference with slowest │
├─────────┼───────────────────────┼─────────┼────────────────────┼─────────────┼─────────────────────────┤
│ 0 │ 'urllib2 - request' │ 10 │ '321.53 req/sec''± 0.38 %''-'
│ 1 │ 'http - no keepalive' │ 10 │ '607.77 req/sec''± 0.80 %''+ 89.02 %'
│ 2 │ 'got' │ 101 │ '7929.51 req/sec''± 4.46 %''+ 2366.15 %'
│ 3 │ 'node-fetch' │ 40 │ '8651.95 req/sec''± 2.99 %''+ 2590.84 %'
│ 4 │ 'request' │ 101 │ '8864.09 req/sec''± 7.81 %''+ 2656.82 %'
│ 5 │ 'undici - fetch' │ 101 │ '9607.01 req/sec''± 4.23 %''+ 2887.87 %'
│ 6 │ 'axios' │ 55 │ '10378.80 req/sec''± 2.94 %''+ 3127.91 %'
│ 7 │ 'superagent' │ 75 │ '11286.74 req/sec''± 2.90 %''+ 3410.29 %'
│ 8 │ 'http - keepalive' │ 60 │ '11288.96 req/sec''± 2.95 %''+ 3410.98 %'
│ 9 │ 'urllib4 - request' │ 101 │ '11352.65 req/sec''± 10.20 %''+ 3430.79 %'
│ 10 │ 'urllib3 - request' │ 40 │ '13831.19 req/sec''± 2.89 %''+ 4201.64 %'
│ 11 │ 'undici - pipeline' │ 60 │ '14562.44 req/sec''± 2.91 %''+ 4429.06 %'
│ 12 │ 'undici - request' │ 70 │ '19630.64 req/sec''± 2.87 %''+ 6005.32 %'
│ 13 │ 'undici - stream' │ 55 │ '20843.50 req/sec''± 2.90 %''+ 6382.54 %'
│ 14 │ 'undici - dispatch' │ 55 │ '21233.10 req/sec''± 2.82 %''+ 6503.70 %'
└─────────┴───────────────────────┴─────────┴────────────────────┴─────────────┴─────────────────────────┘

Node.js v20.15.0

┌─────────┬───────────────────────┬─────────┬────────────────────┬────────────┬─────────────────────────┐
│ (index) │ Tests │ Samples │ Result │ Tolerance │ Difference with slowest │
├─────────┼───────────────────────┼─────────┼────────────────────┼────────────┼─────────────────────────┤
│ 0 │ 'urllib2 - request' │ 10 │ '332.91 req/sec''± 1.13 %''-'
│ 1 │ 'http - no keepalive' │ 10 │ '615.50 req/sec''± 2.25 %''+ 84.88 %'
│ 2 │ 'got' │ 55 │ '7658.39 req/sec''± 2.98 %''+ 2200.42 %'
│ 3 │ 'node-fetch' │ 30 │ '7832.96 req/sec''± 2.96 %''+ 2252.86 %'
│ 4 │ 'axios' │ 40 │ '8607.27 req/sec''± 2.79 %''+ 2485.44 %'
│ 5 │ 'request' │ 35 │ '8703.49 req/sec''± 2.84 %''+ 2514.35 %'
│ 6 │ 'undici - fetch' │ 65 │ '9971.24 req/sec''± 2.96 %''+ 2895.15 %'
│ 7 │ 'superagent' │ 30 │ '11006.46 req/sec''± 2.90 %''+ 3206.11 %'
│ 8 │ 'http - keepalive' │ 55 │ '11610.14 req/sec''± 2.87 %''+ 3387.44 %'
│ 9 │ 'urllib3 - request' │ 25 │ '13873.38 req/sec''± 2.96 %''+ 4067.27 %'
│ 10 │ 'urllib4 - request' │ 25 │ '14291.36 req/sec''± 2.92 %''+ 4192.82 %'
│ 11 │ 'undici - pipeline' │ 45 │ '14617.69 req/sec''± 2.84 %''+ 4290.85 %'
│ 12 │ 'undici - dispatch' │ 101 │ '18716.29 req/sec''± 3.97 %''+ 5521.98 %'
│ 13 │ 'undici - request' │ 101 │ '19165.16 req/sec''± 3.25 %''+ 5656.81 %'
│ 14 │ 'undici - stream' │ 30 │ '21816.28 req/sec''± 2.99 %''+ 6453.15 %'
└─────────┴───────────────────────┴─────────┴────────────────────┴────────────┴─────────────────────────┘

Node.js v22.3.0

┌─────────┬───────────────────────┬─────────┬────────────────────┬────────────┬─────────────────────────┐
│ (index) │ Tests │ Samples │ Result │ Tolerance │ Difference with slowest │
├─────────┼───────────────────────┼─────────┼────────────────────┼────────────┼─────────────────────────┤
│ 0 │ 'urllib2 - request' │ 15 │ '297.46 req/sec''± 2.65 %''-'
│ 1 │ 'http - no keepalive' │ 10 │ '598.25 req/sec''± 1.94 %''+ 101.12 %'
│ 2 │ 'axios' │ 30 │ '8487.94 req/sec''± 2.91 %''+ 2753.52 %'
│ 3 │ 'got' │ 50 │ '10054.46 req/sec''± 2.89 %''+ 3280.16 %'
│ 4 │ 'request' │ 45 │ '10306.02 req/sec''± 2.87 %''+ 3364.73 %'
│ 5 │ 'node-fetch' │ 55 │ '11160.02 req/sec''± 2.87 %''+ 3651.83 %'
│ 6 │ 'superagent' │ 80 │ '11302.28 req/sec''± 2.85 %''+ 3699.66 %'
│ 7 │ 'undici - fetch' │ 60 │ '11357.87 req/sec''± 2.89 %''+ 3718.35 %'
│ 8 │ 'http - keepalive' │ 60 │ '13782.10 req/sec''± 2.97 %''+ 4533.34 %'
│ 9 │ 'urllib4 - request' │ 70 │ '15965.62 req/sec''± 2.88 %''+ 5267.40 %'
│ 10 │ 'urllib3 - request' │ 55 │ '16010.37 req/sec''± 2.90 %''+ 5282.45 %'
│ 11 │ 'undici - pipeline' │ 35 │ '17969.37 req/sec''± 2.95 %''+ 5941.03 %'
│ 12 │ 'undici - dispatch' │ 101 │ '18765.50 req/sec''± 3.01 %''+ 6208.68 %'
│ 13 │ 'undici - request' │ 85 │ '20091.12 req/sec''± 2.95 %''+ 6654.33 %'
│ 14 │ 'undici - stream' │ 45 │ '21599.12 req/sec''± 2.81 %''+ 7161.30 %'
└─────────┴───────────────────────┴─────────┴────────────────────┴────────────┴─────────────────────────┘
```

## License

Expand Down

0 comments on commit 8247aa2

Please sign in to comment.