var N = 64 * 1024 * 1024;
var b = Buffer(N);
var s = '';
- for (var i = 0; i < 256; ++i) s += String.fromCharCode(i);
- for (var i = 0; i < N; i += 256) b.write(s, i, 256, 'ascii');
+ var i;
+ for (i = 0; i < 256; ++i) s += String.fromCharCode(i);
+ for (i = 0; i < N; i += 256) b.write(s, i, 256, 'ascii');
bench.start();
- for (var i = 0; i < 32; ++i) b.toString('base64');
+ for (i = 0; i < 32; ++i) b.toString('base64');
bench.end(64);
}
const n = conf.n | 0;
const buf = Buffer(len).fill(42);
+ var i;
bench.start();
if (arg) {
- for (var i = 0; i < n; i += 1)
+ for (i = 0; i < n; i += 1)
buf.toString('utf8');
} else {
- for (var i = 0; i < n; i += 1)
+ for (i = 0; i < n; i += 1)
buf.toString();
}
bench.end(n);
}
}
+var start, green, red, reset, end;
if (!html) {
- var start = '';
- var green = '\033[1;32m';
- var red = '\033[1;31m';
- var reset = '\033[m';
- var end = '';
+ start = '';
+ green = '\u001b[1;32m';
+ red = '\u001b[1;31m';
+ reset = '\u001b[m';
+ end = '';
} else {
- var start = '<pre style="background-color:#333;color:#eee">';
- var green = '<span style="background-color:#0f0;color:#000">';
- var red = '<span style="background-color:#f00;color:#fff">';
- var reset = '</span>';
- var end = '</pre>';
+ start = '<pre style="background-color:#333;color:#eee">';
+ green = '<span style="background-color:#0f0;color:#000">';
+ red = '<span style="background-color:#f00;color:#fff">';
+ reset = '</span>';
+ end = '</pre>';
}
var runBench = process.env.NODE_BENCH || 'bench';
function legacyWrite(alice, bob, message, encoding, writes) {
var written = 0;
+ var enc, dec;
for (var i = 0; i < writes; i++) {
- var enc = alice.update(message, encoding);
- var dec = bob.update(enc);
+ enc = alice.update(message, encoding);
+ dec = bob.update(enc);
written += dec.length;
}
- var enc = alice.final();
- var dec = bob.update(enc);
+ enc = alice.final();
+ dec = bob.update(enc);
written += dec.length;
dec = bob.final();
written += dec.length;
var ee = new events.EventEmitter();
var listeners = [];
- for (var k = 0; k < 10; k += 1)
+ var k;
+ for (k = 0; k < 10; k += 1)
listeners.push(function() {});
bench.start();
for (var i = 0; i < n; i += 1) {
- for (var k = listeners.length; --k >= 0; /* empty */)
+ for (k = listeners.length; --k >= 0; /* empty */)
ee.on('dummy', listeners[k]);
- for (var k = listeners.length; --k >= 0; /* empty */)
+ for (k = listeners.length; --k >= 0; /* empty */)
ee.removeListener('dummy', listeners[k]);
}
bench.end(n);
function runTest(dur, size, type) {
if (type !== 'string')
type = 'buffer';
+ var chunk;
switch (type) {
case 'string':
- var chunk = new Array(size + 1).join('a');
+ chunk = new Array(size + 1).join('a');
break;
case 'buffer':
- var chunk = new Buffer(size);
+ chunk = new Buffer(size);
chunk.fill('a');
break;
}
var n_chunks = parseInt(commands[3], 10);
var status = 200;
+ var n, i;
if (command == 'bytes') {
- var n = ~~arg;
+ n = ~~arg;
if (n <= 0)
throw new Error('bytes called with n <= 0');
if (storedBytes[n] === undefined) {
body = storedBytes[n];
} else if (command == 'buffer') {
- var n = ~~arg;
+ n = ~~arg;
if (n <= 0)
throw new Error('buffer called with n <= 0');
if (storedBuffer[n] === undefined) {
storedBuffer[n] = new Buffer(n);
- for (var i = 0; i < n; i++) {
+ for (i = 0; i < n; i++) {
storedBuffer[n][i] = 'C'.charCodeAt(0);
}
}
body = storedBuffer[n];
} else if (command == 'unicode') {
- var n = ~~arg;
+ n = ~~arg;
if (n <= 0)
throw new Error('unicode called with n <= 0');
if (storedUnicode[n] === undefined) {
var len = body.length;
var step = Math.floor(len / n_chunks) || 1;
- for (var i = 0, n = (n_chunks - 1); i < n; ++i) {
+ for (i = 0, n = (n_chunks - 1); i < n; ++i) {
res.write(body.slice(i * step, i * step + step));
}
res.end(body.slice((n_chunks - 1) * step));
var port = parseInt(process.env.PORT || 8000);
var fixed = '';
-for (var i = 0; i < 20 * 1024; i++) {
+var i;
+for (i = 0; i < 20 * 1024; i++) {
fixed += 'C';
}
var arg = commands[2];
var n_chunks = parseInt(commands[3], 10);
var status = 200;
+ var n;
if (command == 'bytes') {
- var n = parseInt(arg, 10);
+ n = parseInt(arg, 10);
if (n <= 0)
throw new Error('bytes called with n <= 0');
if (stored[n] === undefined) {
stored[n] = '';
- for (var i = 0; i < n; i++) {
+ for (i = 0; i < n; i++) {
stored[n] += 'C';
}
}
body = stored[n];
-
} else if (command == 'buffer') {
- var n = parseInt(arg, 10);
+ n = parseInt(arg, 10);
if (n <= 0) throw new Error('bytes called with n <= 0');
if (storedBuffer[n] === undefined) {
storedBuffer[n] = new Buffer(n);
- for (var i = 0; i < n; i++) {
+ for (i = 0; i < n; i++) {
storedBuffer[n][i] = 'C'.charCodeAt(0);
}
}
var len = body.length;
var step = Math.floor(len / n_chunks) || 1;
- for (var i = 0, n = (n_chunks - 1); i < n; ++i) {
+ for (i = 0, n = (n_chunks - 1); i < n; ++i) {
res.write(body.slice(i * step, i * step + step));
}
res.end(body.slice((n_chunks - 1) * step));
var chunks = [];
var str = '';
var isBase64 = (encoding === 'base64-ascii' || encoding === 'base64-utf8');
+ var i;
if (encoding === 'ascii' || encoding === 'base64-ascii')
alpha = ASC_ALPHA;
var sd = new StringDecoder(isBase64 ? 'base64' : encoding);
- for (var i = 0; i < inLen; ++i) {
+ for (i = 0; i < inLen; ++i) {
if (i > 0 && (i % chunkLen) === 0 && !isBase64) {
chunks.push(new Buffer(str, encoding));
str = '';
var nChunks = chunks.length;
bench.start();
- for (var i = 0; i < n; ++i) {
+ for (i = 0; i < n; ++i) {
for (var j = 0; j < nChunks; ++j)
sd.write(chunks[j]);
}
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(querystring.parse)');
- bench.start();
- for (var i = 0; i < n; i += 1)
- querystring.parse(input);
- bench.end(n);
+ var i;
+ if (type !== 'multicharsep') {
+ bench.start();
+ for (i = 0; i < n; i += 1)
+ querystring.parse(input);
+ bench.end(n);
+ } else {
+ bench.start();
+ for (i = 0; i < n; i += 1)
+ querystring.parse(input, '&&&&&&&&&&');
+ bench.end(n);
+ }
}