'use strict'; const common = require('../common.js'); const http = require('http'); const bench = common.createBenchmark(main, { fewHeaders: { n: [10], len: [1, 5], duration: 5, }, mediumHeaders: { n: [50], len: [1, 10], duration: 5, }, manyHeaders: { n: [600], len: [1, 100], duration: 5, }, }, { byGroups: true }); function main({ len, n, duration }) { const headers = { 'Connection': 'keep-alive', 'Transfer-Encoding': 'chunked', }; const Is = [...Array(n / len).keys()]; const Js = [...Array(len).keys()]; for (const i of Is) { headers[`foo${i}`] = Js.map(() => `some header value ${i}`); } const server = http.createServer((req, res) => { res.writeHead(200, headers); res.end(); }); server.listen(0, () => { bench.http({ path: '/', connections: 10, duration, port: server.address().port, }, () => { server.close(); }); }); }