mirror of
https://github.com/nodejs/node.git
synced 2025-05-18 15:22:27 +00:00

This commit removes the benchmark spacing modification in `client-request-body.js` and `end-vs-write-end.js` which adds two spaces to the end of some variables to make sure the lines line up. The reason behind this is that its totally pointless (the lines don't actually line up with it) and it disallows you to parse the output with a tool like awk, or at least makes it a lot harder. PR-URL: https://github.com/iojs/io.js/pull/650 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
70 lines
1.4 KiB
JavaScript
70 lines
1.4 KiB
JavaScript
// Measure the time it takes for the HTTP client to send a request body.
|
|
|
|
var common = require('../common.js');
|
|
var http = require('http');
|
|
|
|
var bench = common.createBenchmark(main, {
|
|
dur: [5],
|
|
type: ['asc', 'utf', 'buf'],
|
|
bytes: [32, 256, 1024],
|
|
method: ['write', 'end']
|
|
});
|
|
|
|
function main(conf) {
|
|
var dur = +conf.dur;
|
|
var len = +conf.bytes;
|
|
|
|
var encoding;
|
|
var chunk;
|
|
switch (conf.type) {
|
|
case 'buf':
|
|
chunk = new Buffer(len);
|
|
chunk.fill('x');
|
|
break;
|
|
case 'utf':
|
|
encoding = 'utf8';
|
|
chunk = new Array(len / 2 + 1).join('ü');
|
|
break;
|
|
case 'asc':
|
|
chunk = new Array(len + 1).join('a');
|
|
break;
|
|
}
|
|
|
|
var nreqs = 0;
|
|
var options = {
|
|
headers: { 'Connection': 'keep-alive', 'Transfer-Encoding': 'chunked' },
|
|
agent: new http.Agent({ maxSockets: 1 }),
|
|
host: '127.0.0.1',
|
|
port: common.PORT,
|
|
path: '/',
|
|
method: 'POST'
|
|
};
|
|
|
|
var server = http.createServer(function(req, res) {
|
|
res.end();
|
|
});
|
|
server.listen(options.port, options.host, function() {
|
|
setTimeout(done, dur * 1000);
|
|
bench.start();
|
|
pummel();
|
|
});
|
|
|
|
function pummel() {
|
|
var req = http.request(options, function(res) {
|
|
nreqs++;
|
|
pummel(); // Line up next request.
|
|
res.resume();
|
|
});
|
|
if (conf.method === 'write') {
|
|
req.write(chunk, encoding);
|
|
req.end();
|
|
} else {
|
|
req.end(chunk, encoding);
|
|
}
|
|
}
|
|
|
|
function done() {
|
|
bench.end(nreqs);
|
|
}
|
|
}
|