mirror of
https://github.com/nodejs/node.git
synced 2025-05-10 20:34:33 +00:00

Use a shared function, for..in instead of Object.keys, do less work in `setHeader` and instead defer some of it until later, and other minor changes to improve clarity, as well as a slight boost in performance. PR-URL: https://github.com/nodejs/node/pull/20250 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
37 lines
757 B
JavaScript
37 lines
757 B
JavaScript
'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();
|
|
});
|
|
});
|
|
}
|