summaryrefslogtreecommitdiff
path: root/benchmark/http/headers.js
blob: 748865afbf3a0429f776f20a52dfa9fad2e2d50f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
'use strict';

const common = require('../common.js');
const http = require('http');

const bench = common.createBenchmark(main, {
  duplicates: [1, 100],
  n: [10, 1000],
});

function main({ duplicates, n }) {
  const headers = {
    'Connection': 'keep-alive',
    'Transfer-Encoding': 'chunked',
  };

  for (var i = 0; i < n / duplicates; i++) {
    headers[`foo${i}`] = [];
    for (var j = 0; j < duplicates; j++) {
      headers[`foo${i}`].push(`some header value ${i}`);
    }
  }

  const server = http.createServer(function(req, res) {
    res.writeHead(200, headers);
    res.end();
  });
  server.listen(common.PORT, function() {
    bench.http({
      path: '/',
      connections: 10
    }, function() {
      server.close();
    });
  });
}