Skip to content

Commit 4be2065

Browse files
TrottMyles Borins
authored and
Myles Borins
committed
benchmark: refactor to eliminate redeclared vars
In order to comply with linting rules used in the rest of the code base, eliminate redeclared variables. A conservative approach is used so as to avoid unintentional performance issues (for example, as might be seen in some situations when using `let` instead of `var`). PR-URL: #5773 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Myles Borins <[email protected]>
1 parent 6dc49ae commit 4be2065

10 files changed

+59
-42
lines changed

benchmark/buffers/buffer-base64-encode.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ function main(conf) {
66
var N = 64 * 1024 * 1024;
77
var b = Buffer(N);
88
var s = '';
9-
for (var i = 0; i < 256; ++i) s += String.fromCharCode(i);
10-
for (var i = 0; i < N; i += 256) b.write(s, i, 256, 'ascii');
9+
var i;
10+
for (i = 0; i < 256; ++i) s += String.fromCharCode(i);
11+
for (i = 0; i < N; i += 256) b.write(s, i, 256, 'ascii');
1112
bench.start();
12-
for (var i = 0; i < 32; ++i) b.toString('base64');
13+
for (i = 0; i < 32; ++i) b.toString('base64');
1314
bench.end(64);
1415
}

benchmark/buffers/buffer-tostring.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,13 @@ function main(conf) {
1414
const n = conf.n | 0;
1515
const buf = Buffer(len).fill(42);
1616

17+
var i;
1718
bench.start();
1819
if (arg) {
19-
for (var i = 0; i < n; i += 1)
20+
for (i = 0; i < n; i += 1)
2021
buf.toString('utf8');
2122
} else {
22-
for (var i = 0; i < n; i += 1)
23+
for (i = 0; i < n; i += 1)
2324
buf.toString();
2425
}
2526
bench.end(n);

benchmark/compare.js

+11-10
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,19 @@ for (var i = 2; i < process.argv.length; i++) {
3636
}
3737
}
3838

39+
var start, green, red, reset, end;
3940
if (!html) {
40-
var start = '';
41-
var green = '\033[1;32m';
42-
var red = '\033[1;31m';
43-
var reset = '\033[m';
44-
var end = '';
41+
start = '';
42+
green = '\u001b[1;32m';
43+
red = '\u001b[1;31m';
44+
reset = '\u001b[m';
45+
end = '';
4546
} else {
46-
var start = '<pre style="background-color:#333;color:#eee">';
47-
var green = '<span style="background-color:#0f0;color:#000">';
48-
var red = '<span style="background-color:#f00;color:#fff">';
49-
var reset = '</span>';
50-
var end = '</pre>';
47+
start = '<pre style="background-color:#333;color:#eee">';
48+
green = '<span style="background-color:#0f0;color:#000">';
49+
red = '<span style="background-color:#f00;color:#fff">';
50+
reset = '</span>';
51+
end = '</pre>';
5152
}
5253

5354
var runBench = process.env.NODE_BENCH || 'bench';

benchmark/crypto/cipher-stream.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,14 @@ function streamWrite(alice, bob, message, encoding, writes) {
8585

8686
function legacyWrite(alice, bob, message, encoding, writes) {
8787
var written = 0;
88+
var enc, dec;
8889
for (var i = 0; i < writes; i++) {
89-
var enc = alice.update(message, encoding);
90-
var dec = bob.update(enc);
90+
enc = alice.update(message, encoding);
91+
dec = bob.update(enc);
9192
written += dec.length;
9293
}
93-
var enc = alice.final();
94-
var dec = bob.update(enc);
94+
enc = alice.final();
95+
dec = bob.update(enc);
9596
written += dec.length;
9697
dec = bob.final();
9798
written += dec.length;

benchmark/events/ee-add-remove.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@ function main(conf) {
99
var ee = new events.EventEmitter();
1010
var listeners = [];
1111

12-
for (var k = 0; k < 10; k += 1)
12+
var k;
13+
for (k = 0; k < 10; k += 1)
1314
listeners.push(function() {});
1415

1516
bench.start();
1617
for (var i = 0; i < n; i += 1) {
17-
for (var k = listeners.length; --k >= 0; /* empty */)
18+
for (k = listeners.length; --k >= 0; /* empty */)
1819
ee.on('dummy', listeners[k]);
19-
for (var k = listeners.length; --k >= 0; /* empty */)
20+
for (k = listeners.length; --k >= 0; /* empty */)
2021
ee.removeListener('dummy', listeners[k]);
2122
}
2223
bench.end(n);

benchmark/fs-write-stream-throughput.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,13 @@ function parent() {
3939
function runTest(dur, size, type) {
4040
if (type !== 'string')
4141
type = 'buffer';
42+
var chunk;
4243
switch (type) {
4344
case 'string':
44-
var chunk = new Array(size + 1).join('a');
45+
chunk = new Array(size + 1).join('a');
4546
break;
4647
case 'buffer':
47-
var chunk = new Buffer(size);
48+
chunk = new Buffer(size);
4849
chunk.fill('a');
4950
break;
5051
}

benchmark/http_simple.js

+6-5
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,9 @@ var server = module.exports = http.createServer(function(req, res) {
3636
var n_chunks = parseInt(commands[3], 10);
3737
var status = 200;
3838

39+
var n, i;
3940
if (command == 'bytes') {
40-
var n = ~~arg;
41+
n = ~~arg;
4142
if (n <= 0)
4243
throw new Error('bytes called with n <= 0');
4344
if (storedBytes[n] === undefined) {
@@ -46,19 +47,19 @@ var server = module.exports = http.createServer(function(req, res) {
4647
body = storedBytes[n];
4748

4849
} else if (command == 'buffer') {
49-
var n = ~~arg;
50+
n = ~~arg;
5051
if (n <= 0)
5152
throw new Error('buffer called with n <= 0');
5253
if (storedBuffer[n] === undefined) {
5354
storedBuffer[n] = new Buffer(n);
54-
for (var i = 0; i < n; i++) {
55+
for (i = 0; i < n; i++) {
5556
storedBuffer[n][i] = 'C'.charCodeAt(0);
5657
}
5758
}
5859
body = storedBuffer[n];
5960

6061
} else if (command == 'unicode') {
61-
var n = ~~arg;
62+
n = ~~arg;
6263
if (n <= 0)
6364
throw new Error('unicode called with n <= 0');
6465
if (storedUnicode[n] === undefined) {
@@ -93,7 +94,7 @@ var server = module.exports = http.createServer(function(req, res) {
9394
var len = body.length;
9495
var step = Math.floor(len / n_chunks) || 1;
9596

96-
for (var i = 0, n = (n_chunks - 1); i < n; ++i) {
97+
for (i = 0, n = (n_chunks - 1); i < n; ++i) {
9798
res.write(body.slice(i * step, i * step + step));
9899
}
99100
res.end(body.slice((n_chunks - 1) * step));

benchmark/http_simple_auto.js

+8-7
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ var spawn = require('child_process').spawn;
1313
var port = parseInt(process.env.PORT || 8000);
1414

1515
var fixed = '';
16-
for (var i = 0; i < 20 * 1024; i++) {
16+
var i;
17+
for (i = 0; i < 20 * 1024; i++) {
1718
fixed += 'C';
1819
}
1920

@@ -27,25 +28,25 @@ var server = http.createServer(function(req, res) {
2728
var arg = commands[2];
2829
var n_chunks = parseInt(commands[3], 10);
2930
var status = 200;
31+
var n;
3032

3133
if (command == 'bytes') {
32-
var n = parseInt(arg, 10);
34+
n = parseInt(arg, 10);
3335
if (n <= 0)
3436
throw new Error('bytes called with n <= 0');
3537
if (stored[n] === undefined) {
3638
stored[n] = '';
37-
for (var i = 0; i < n; i++) {
39+
for (i = 0; i < n; i++) {
3840
stored[n] += 'C';
3941
}
4042
}
4143
body = stored[n];
42-
4344
} else if (command == 'buffer') {
44-
var n = parseInt(arg, 10);
45+
n = parseInt(arg, 10);
4546
if (n <= 0) throw new Error('bytes called with n <= 0');
4647
if (storedBuffer[n] === undefined) {
4748
storedBuffer[n] = new Buffer(n);
48-
for (var i = 0; i < n; i++) {
49+
for (i = 0; i < n; i++) {
4950
storedBuffer[n][i] = 'C'.charCodeAt(0);
5051
}
5152
}
@@ -78,7 +79,7 @@ var server = http.createServer(function(req, res) {
7879
var len = body.length;
7980
var step = Math.floor(len / n_chunks) || 1;
8081

81-
for (var i = 0, n = (n_chunks - 1); i < n; ++i) {
82+
for (i = 0, n = (n_chunks - 1); i < n; ++i) {
8283
res.write(body.slice(i * step, i * step + step));
8384
}
8485
res.end(body.slice((n_chunks - 1) * step));

benchmark/misc/string-decoder.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ function main(conf) {
2121
var chunks = [];
2222
var str = '';
2323
var isBase64 = (encoding === 'base64-ascii' || encoding === 'base64-utf8');
24+
var i;
2425

2526
if (encoding === 'ascii' || encoding === 'base64-ascii')
2627
alpha = ASC_ALPHA;
@@ -31,7 +32,7 @@ function main(conf) {
3132

3233
var sd = new StringDecoder(isBase64 ? 'base64' : encoding);
3334

34-
for (var i = 0; i < inLen; ++i) {
35+
for (i = 0; i < inLen; ++i) {
3536
if (i > 0 && (i % chunkLen) === 0 && !isBase64) {
3637
chunks.push(new Buffer(str, encoding));
3738
str = '';
@@ -52,7 +53,7 @@ function main(conf) {
5253
var nChunks = chunks.length;
5354

5455
bench.start();
55-
for (var i = 0; i < n; ++i) {
56+
for (i = 0; i < n; ++i) {
5657
for (var j = 0; j < nChunks; ++j)
5758
sd.write(chunks[j]);
5859
}

benchmark/querystring/querystring-parse.js

+12-4
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,16 @@ function main(conf) {
2727
v8.setFlagsFromString('--allow_natives_syntax');
2828
eval('%OptimizeFunctionOnNextCall(querystring.parse)');
2929

30-
bench.start();
31-
for (var i = 0; i < n; i += 1)
32-
querystring.parse(input);
33-
bench.end(n);
30+
var i;
31+
if (type !== 'multicharsep') {
32+
bench.start();
33+
for (i = 0; i < n; i += 1)
34+
querystring.parse(input);
35+
bench.end(n);
36+
} else {
37+
bench.start();
38+
for (i = 0; i < n; i += 1)
39+
querystring.parse(input, '&&&&&&&&&&');
40+
bench.end(n);
41+
}
3442
}

0 commit comments

Comments
 (0)