benchmark: refactor to eliminate redeclared vars
authorRich Trott <rtrott@gmail.com>
Sun, 28 Feb 2016 05:56:18 +0000 (21:56 -0800)
committerMyles Borins <mborins@us.ibm.com>
Mon, 21 Mar 2016 20:07:09 +0000 (13:07 -0700)
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: https://github.com/nodejs/node/pull/5773
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
benchmark/buffers/buffer-base64-encode.js
benchmark/buffers/buffer-tostring.js
benchmark/compare.js
benchmark/crypto/cipher-stream.js
benchmark/events/ee-add-remove.js
benchmark/fs-write-stream-throughput.js
benchmark/http_simple.js
benchmark/http_simple_auto.js
benchmark/misc/string-decoder.js
benchmark/querystring/querystring-parse.js

index cb520be..630995a 100644 (file)
@@ -6,9 +6,10 @@ function main(conf) {
   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);
 }
index 9480520..f71c2b9 100644 (file)
@@ -14,12 +14,13 @@ function main(conf) {
   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);
index 94d8cb5..0855c62 100644 (file)
@@ -36,18 +36,19 @@ for (var i = 2; i < process.argv.length; i++) {
   }
 }
 
+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';
index ee4d55a..594b51a 100644 (file)
@@ -85,13 +85,14 @@ function streamWrite(alice, bob, message, encoding, writes) {
 
 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;
index cd9fe3c..b6dacb1 100644 (file)
@@ -9,14 +9,15 @@ function main(conf) {
   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);
index c631490..3e968e6 100644 (file)
@@ -39,12 +39,13 @@ function parent() {
 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;
   }
index a0224f7..0f36d3b 100644 (file)
@@ -36,8 +36,9 @@ var server = module.exports = http.createServer(function(req, res) {
   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) {
@@ -46,19 +47,19 @@ var server = module.exports = http.createServer(function(req, res) {
     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) {
@@ -93,7 +94,7 @@ var server = module.exports = http.createServer(function(req, res) {
     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));
index 5129c04..2eb617a 100644 (file)
@@ -13,7 +13,8 @@ var spawn = require('child_process').spawn;
 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';
 }
 
@@ -27,25 +28,25 @@ var server = http.createServer(function(req, res) {
   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);
       }
     }
@@ -78,7 +79,7 @@ var server = http.createServer(function(req, res) {
     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));
index 14563ce..fe08c0e 100644 (file)
@@ -21,6 +21,7 @@ function main(conf) {
   var chunks = [];
   var str = '';
   var isBase64 = (encoding === 'base64-ascii' || encoding === 'base64-utf8');
+  var i;
 
   if (encoding === 'ascii' || encoding === 'base64-ascii')
     alpha = ASC_ALPHA;
@@ -31,7 +32,7 @@ function main(conf) {
 
   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 = '';
@@ -52,7 +53,7 @@ function main(conf) {
   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]);
   }
index 6a4d9f5..4fbc18b 100644 (file)
@@ -27,8 +27,16 @@ function main(conf) {
   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);
+  }
 }