diff options
author | Marcos Casagrande <marcoscvp90@gmail.com> | 2023-08-14 15:14:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-14 15:14:02 +0200 |
commit | e071382768fa57b5288a6a5ba90e73bf5870b169 (patch) | |
tree | db1306c3038e147b3f698345bd381fee30c6ab0b /ext/fetch/20_headers.js | |
parent | ca9ba87d9956e3f940e0116866e19461f008390b (diff) |
perf(ext/node): cache `IncomingMessageForServer.headers` (#20147)
This PR adds caching to node's `req.headers`
```js
import express from "npm:express";
const app = express();
app.get("/", function (req, res) {
const ua = req.header("User-Agent");
const auth = req.header("Authorization");
const type = req.header("Content-Type");
const ip = req.header("X-Forwarded-For");
res.end();
});
app.listen(3000);
```
**this PR**
```
wrk -d 10s --latency http://127.0.0.1:3000
Running 10s test @ http://127.0.0.1:3000
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 155.64us 152.14us 5.74ms 97.39%
Req/Sec 35.00k 1.97k 39.10k 80.69%
Latency Distribution
50% 123.00us
75% 172.00us
90% 214.00us
99% 563.00us
703420 requests in 10.10s, 50.31MB read
Requests/sec: 69648.45
Transfer/sec: 4.98MB
```
**main**
```
wrk -d 10s --latency http://127.0.0.1:3000
Running 10s test @ http://127.0.0.1:3000
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 217.95us 786.89us 26.26ms 98.23%
Req/Sec 32.32k 2.54k 37.19k 87.13%
Latency Distribution
50% 130.00us
75% 191.00us
90% 232.00us
99% 1.88ms
649411 requests in 10.10s, 46.45MB read
Requests/sec: 64300.44
Transfer/sec: 4.60MB
```
Diffstat (limited to 'ext/fetch/20_headers.js')
0 files changed, 0 insertions, 0 deletions