benchmark: use let and const instead of var

Use let and const in domain, es, events, fixtures, fs, http,
http2 and misc.

PR-URL: https://github.com/nodejs/node/pull/31518
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
Daniele Belardi 2020-01-24 18:12:49 +01:00 committed by Rich Trott
parent 2170259940
commit 0f8941962d
35 changed files with 105 additions and 111 deletions

View file

@ -15,7 +15,7 @@ function main({ n, args }) {
bench.start();
bdomain.enter();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
if (myArguments.length >= 2) {
const args = Array.prototype.slice.call(myArguments, 1);
fn.apply(this, args);

View file

@ -22,14 +22,14 @@ function defaultParams(x = 1, y = 2) {
function runOldStyleDefaults(n) {
bench.start();
for (var i = 0; i < n; i++)
for (let i = 0; i < n; i++)
oldStyleDefaults();
bench.end(n);
}
function runDefaultParams(n) {
bench.start();
for (var i = 0; i < n; i++)
for (let i = 0; i < n; i++)
defaultParams();
bench.end(n);
}

View file

@ -9,9 +9,9 @@ const bench = common.createBenchmark(main, {
});
function runSwapManual(n) {
var x, y, r;
let x, y, r;
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
x = 1, y = 2;
r = x;
x = y;
@ -23,9 +23,9 @@ function runSwapManual(n) {
}
function runSwapDestructured(n) {
var x, y;
let x, y;
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
x = 1, y = 2;
[x, y] = [y, x];
assert.strictEqual(x, 2);

View file

@ -8,10 +8,9 @@ const bench = common.createBenchmark(main, {
});
function runNormal(n) {
var i = 0;
const o = { x: 0, y: 1 };
bench.start();
for (; i < n; i++) {
for (let i = 0; i < n; i++) {
/* eslint-disable no-unused-vars */
const x = o.x;
const y = o.y;
@ -22,10 +21,9 @@ function runNormal(n) {
}
function runDestructured(n) {
var i = 0;
const o = { x: 0, y: 1 };
bench.start();
for (; i < n; i++) {
for (let i = 0; i < n; i++) {
/* eslint-disable no-unused-vars */
const { x, y, r = 2 } = o;
/* eslint-enable no-unused-vars */

View file

@ -10,8 +10,8 @@ const bench = common.createBenchmark(main, {
function useFor(n, items, count) {
bench.start();
for (var i = 0; i < n; i++) {
for (var j = 0; j < count; j++) {
for (let i = 0; i < n; i++) {
for (let j = 0; j < count; j++) {
// eslint-disable-next-line no-unused-vars
const item = items[j];
}
@ -21,7 +21,7 @@ function useFor(n, items, count) {
function useForOf(n, items) {
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
// eslint-disable-next-line no-unused-vars
for (const item of items) {}
}
@ -30,8 +30,8 @@ function useForOf(n, items) {
function useForIn(n, items) {
bench.start();
for (var i = 0; i < n; i++) {
for (var j in items) {
for (let i = 0; i < n; i++) {
for (const j in items) {
// eslint-disable-next-line no-unused-vars
const item = items[j];
}
@ -41,7 +41,7 @@ function useForIn(n, items) {
function useForEach(n, items) {
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
items.forEach((item) => {});
}
bench.end(n);
@ -49,8 +49,8 @@ function useForEach(n, items) {
function main({ n, count, method }) {
const items = new Array(count);
var fn;
for (var i = 0; i < count; i++)
let fn;
for (let i = 0; i < count; i++)
items[i] = i;
switch (method) {

View file

@ -14,7 +14,7 @@ const bench = common.createBenchmark(main, {
function runObject(n) {
const m = {};
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
m[`i${i}`] = i;
m[`s${i}`] = String(i);
assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]);
@ -27,7 +27,7 @@ function runObject(n) {
function runNullProtoObject(n) {
const m = Object.create(null);
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
m[`i${i}`] = i;
m[`s${i}`] = String(i);
assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]);
@ -40,7 +40,7 @@ function runNullProtoObject(n) {
function runNullProtoLiteralObject(n) {
const m = { __proto__: null };
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
m[`i${i}`] = i;
m[`s${i}`] = String(i);
assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]);
@ -56,7 +56,7 @@ StorageObject.prototype = Object.create(null);
function runStorageObject(n) {
const m = new StorageObject();
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
m[`i${i}`] = i;
m[`s${i}`] = String(i);
assert.strictEqual(String(m[`i${i}`]), m[`s${i}`]);
@ -79,7 +79,7 @@ function fakeMap() {
function runFakeMap(n) {
const m = fakeMap();
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
m.set(`i${i}`, i);
m.set(`s${i}`, String(i));
assert.strictEqual(String(m.get(`i${i}`)), m.get(`s${i}`));
@ -92,7 +92,7 @@ function runFakeMap(n) {
function runMap(n) {
const m = new Map();
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
m.set(`i${i}`, i);
m.set(`s${i}`, String(i));
assert.strictEqual(String(m.get(`i${i}`)), m.get(`s${i}`));

View file

@ -11,7 +11,7 @@ const bench = common.createBenchmark(main, {
function copyArguments() {
const len = arguments.length;
const args = new Array(len);
for (var i = 0; i < len; i++)
for (let i = 0; i < len; i++)
args[i] = arguments[i];
assert.strictEqual(args[0], 1);
assert.strictEqual(args[1], 2);
@ -34,22 +34,22 @@ function useArguments() {
}
function runCopyArguments(n) {
for (var i = 0; i < n; i++)
for (let i = 0; i < n; i++)
copyArguments(1, 2, 'a', 'b');
}
function runRestArguments(n) {
for (var i = 0; i < n; i++)
for (let i = 0; i < n; i++)
restArguments(1, 2, 'a', 'b');
}
function runUseArguments(n) {
for (var i = 0; i < n; i++)
for (let i = 0; i < n; i++)
useArguments(1, 2, 'a', 'b');
}
function main({ n, method }) {
var fn;
let fn;
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.

View file

@ -16,26 +16,25 @@ function main({ n, context, count, rest, method }) {
src[`p${n}`] = n;
let obj; // eslint-disable-line no-unused-vars
let i;
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case '_extend':
bench.start();
for (i = 0; i < n; i++)
for (let i = 0; i < n; i++)
obj = util._extend({}, src);
bench.end(n);
break;
case 'assign':
bench.start();
for (i = 0; i < n; i++)
for (let i = 0; i < n; i++)
obj = Object.assign({}, src);
bench.end(n);
break;
case 'spread':
bench.start();
for (i = 0; i < n; i++)
for (let i = 0; i < n; i++)
obj = { ...src };
bench.end(n);
break;

View file

@ -25,10 +25,10 @@ function makeTest(count, rest) {
function main({ n, context, count, rest, method }) {
const ctx = context === 'context' ? {} : null;
var fn = makeTest(count, rest);
let fn = makeTest(count, rest);
const args = new Array(count);
var i;
for (i = 0; i < count; i++)
for (let i = 0; i < count; i++)
args[i] = i;
switch (method) {
@ -36,7 +36,7 @@ function main({ n, context, count, rest, method }) {
// Empty string falls through to next line as default, mostly for tests.
case 'apply':
bench.start();
for (i = 0; i < n; i++)
for (let i = 0; i < n; i++)
fn.apply(ctx, args);
bench.end(n);
break;
@ -44,13 +44,13 @@ function main({ n, context, count, rest, method }) {
if (ctx !== null)
fn = fn.bind(ctx);
bench.start();
for (i = 0; i < n; i++)
for (let i = 0; i < n; i++)
fn(...args);
bench.end(n);
break;
case 'call-spread':
bench.start();
for (i = 0; i < n; i++)
for (let i = 0; i < n; i++)
fn.call(ctx, ...args);
bench.end(n);
break;

View file

@ -8,17 +8,16 @@ function main({ n }) {
const ee = new events.EventEmitter();
const listeners = [];
var k;
for (k = 0; k < 10; k += 1)
for (let k = 0; k < 10; k += 1)
listeners.push(() => {});
bench.start();
for (var i = 0; i < n; i += 1) {
for (let i = 0; i < n; i += 1) {
const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1';
for (k = listeners.length; --k >= 0; /* empty */) {
for (let k = listeners.length; --k >= 0; /* empty */) {
ee.on(dummy, listeners[k]);
}
for (k = listeners.length; --k >= 0; /* empty */) {
for (let k = listeners.length; --k >= 0; /* empty */) {
ee.removeListener(dummy, listeners[k]);
}
}

View file

@ -11,35 +11,34 @@ const bench = common.createBenchmark(main, {
function main({ n, argc, listeners }) {
const ee = new EventEmitter();
for (var k = 0; k < listeners; k += 1)
for (let k = 0; k < listeners; k += 1)
ee.on('dummy', () => {});
var i;
switch (argc) {
case 2:
bench.start();
for (i = 0; i < n; i += 1) {
for (let i = 0; i < n; i += 1) {
ee.emit('dummy', true, 5);
}
bench.end(n);
break;
case 4:
bench.start();
for (i = 0; i < n; i += 1) {
for (let i = 0; i < n; i += 1) {
ee.emit('dummy', true, 5, 10, false);
}
bench.end(n);
break;
case 10:
bench.start();
for (i = 0; i < n; i += 1) {
for (let i = 0; i < n; i += 1) {
ee.emit('dummy', true, 5, 10, false, 5, 'string', true, false, 11, 20);
}
bench.end(n);
break;
default:
bench.start();
for (i = 0; i < n; i += 1) {
for (let i = 0; i < n; i += 1) {
ee.emit('dummy');
}
bench.end(n);

View file

@ -7,13 +7,13 @@ const bench = common.createBenchmark(main, { n: [5e7] });
function main({ n }) {
const ee = new EventEmitter();
for (var k = 0; k < 5; k += 1) {
for (let k = 0; k < 5; k += 1) {
ee.on('dummy0', () => {});
ee.on('dummy1', () => {});
}
bench.start();
for (var i = 0; i < n; i += 1) {
for (let i = 0; i < n; i += 1) {
const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1';
ee.listenerCount(dummy);
}

View file

@ -8,13 +8,13 @@ function main({ n }) {
const ee = new EventEmitter();
ee.setMaxListeners(101);
for (var k = 0; k < 50; k += 1) {
for (let k = 0; k < 50; k += 1) {
ee.on('dummy0', () => {});
ee.on('dummy1', () => {});
}
bench.start();
for (var i = 0; i < n; i += 1) {
for (let i = 0; i < n; i += 1) {
const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1';
ee.listeners(dummy);
}

View file

@ -7,13 +7,13 @@ const bench = common.createBenchmark(main, { n: [5e6] });
function main({ n }) {
const ee = new EventEmitter();
for (var k = 0; k < 5; k += 1) {
for (let k = 0; k < 5; k += 1) {
ee.on('dummy0', () => {});
ee.on('dummy1', () => {});
}
bench.start();
for (var i = 0; i < n; i += 1) {
for (let i = 0; i < n; i += 1) {
const dummy = (i % 2 === 0) ? 'dummy0' : 'dummy1';
ee.listeners(dummy);
}

View file

@ -31,14 +31,14 @@ module.exports = http.createServer((req, res) => {
// URL format: /<type>/<length>/<chunks>/<responseBehavior>/chunkedEnc
const params = req.url.split('/');
const command = params[1];
var body = '';
let body = '';
const arg = params[2];
const n_chunks = parseInt(params[3], 10);
const resHow = params.length >= 5 ? params[4] : 'normal';
const chunkedEnc = params.length >= 6 && params[5] === '0' ? false : true;
var status = 200;
let status = 200;
var n, i;
let n, i;
if (command === 'bytes') {
n = ~~arg;
if (n <= 0)

View file

@ -15,7 +15,7 @@ function main({ n, dir, withFileTypes }) {
withFileTypes = withFileTypes === 'true';
const fullPath = path.resolve(__dirname, '../../', dir);
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
fs.readdirSync(fullPath, { withFileTypes });
}
bench.end(n);

View file

@ -17,7 +17,7 @@ const bench = common.createBenchmark(main, {
function main({ n, pathType }) {
const path = pathType === 'relative' ? relative_path : resolved_path;
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
fs.realpathSync(path);
}
bench.end(n);

View file

@ -10,7 +10,7 @@ const bench = common.createBenchmark(main, {
function main({ n, statType }) {
var arg;
let arg;
if (statType === 'fstat')
arg = fs.openSync(__filename, 'r');
else

View file

@ -16,7 +16,7 @@ function main({ n, statSyncType }) {
const fn = fs[statSyncType];
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
fn(arg);
}
bench.end(n);

View file

@ -52,7 +52,7 @@ function runTest() {
bench.start();
});
var bytes = 0;
let bytes = 0;
rs.on('data', (chunk) => {
bytes += chunk.length;
});
@ -68,7 +68,7 @@ function makeFile() {
const buf = Buffer.allocUnsafe(filesize / 1024);
if (encoding === 'utf8') {
// ü
for (var i = 0; i < buf.length; i++) {
for (let i = 0; i < buf.length; i++) {
buf[i] = i % 2 === 0 ? 0xC3 : 0xBC;
}
} else if (encoding === 'ascii') {
@ -78,7 +78,7 @@ function makeFile() {
}
try { fs.unlinkSync(filename); } catch {}
var w = 1024;
let w = 1024;
const ws = fs.createWriteStream(filename);
ws.on('close', runTest);
ws.on('drain', write);

View file

@ -9,7 +9,7 @@ const bench = common.createBenchmark(main, {
function main({ n }) {
bench.start();
for (var i = 0; i < n; ++i)
for (let i = 0; i < n; ++i)
fs.readFileSync(__filename);
bench.end(n);
}

View file

@ -25,15 +25,15 @@ const bench = common.createBenchmark(main, {
function main(conf) {
const len = +conf.len;
try { fs.unlinkSync(filename); } catch {}
var data = Buffer.alloc(len, 'x');
let data = Buffer.alloc(len, 'x');
fs.writeFileSync(filename, data);
data = null;
const zipData = Buffer.alloc(1024, 'a');
var reads = 0;
var zips = 0;
var benchEnded = false;
let reads = 0;
let zips = 0;
let benchEnded = false;
bench.start();
setTimeout(() => {
const totalOps = reads + zips;
@ -78,7 +78,7 @@ function main(conf) {
}
// Start reads
var cur = +conf.concurrent;
let cur = +conf.concurrent;
while (cur--) read();
// Start a competing zip

View file

@ -21,12 +21,12 @@ const bench = common.createBenchmark(main, {
function main({ len, dur, concurrent }) {
try { fs.unlinkSync(filename); } catch {}
var data = Buffer.alloc(len, 'x');
let data = Buffer.alloc(len, 'x');
fs.writeFileSync(filename, data);
data = null;
var reads = 0;
var benchEnded = false;
let reads = 0;
let benchEnded = false;
bench.start();
setTimeout(() => {
benchEnded = true;

View file

@ -17,9 +17,9 @@ const bench = common.createBenchmark(main, {
});
function main({ dur, encodingType, size }) {
var encoding;
let encoding;
var chunk;
let chunk;
switch (encodingType) {
case 'buf':
chunk = Buffer.alloc(size, 'b');
@ -38,8 +38,8 @@ function main({ dur, encodingType, size }) {
try { fs.unlinkSync(filename); } catch {}
var started = false;
var ended = false;
let started = false;
let ended = false;
const f = fs.createWriteStream(filename);
f.on('drain', write);

View file

@ -12,7 +12,7 @@ const bench = common.createBenchmark(main, {
function main({ len, n }) {
var todo = [];
let todo = [];
const headers = [];
// Chose 7 because 9 showed "Connection error" / "Connection closed"
// An odd number could result in a better length dispersion.
@ -48,19 +48,19 @@ function main({ len, n }) {
}
const min = 10;
var size = 0;
let size = 0;
const mod = 317;
const mult = 17;
const add = 11;
var count = 0;
let count = 0;
const PIPE = process.env.PIPE_NAME;
const socket = net.connect(PIPE, () => {
bench.start();
WriteHTTPHeaders(socket, 1, len);
socket.setEncoding('utf8');
socket.on('data', (d) => {
var did = false;
var pattern = 'HTTP/1.1 200 OK\r\n';
let did = false;
let pattern = 'HTTP/1.1 200 OK\r\n';
if ((d.length === pattern.length && d === pattern) ||
(d.length > pattern.length &&
d.slice(0, pattern.length) === pattern)) {

View file

@ -12,8 +12,8 @@ const bench = common.createBenchmark(main, {
});
function main({ dur, len, type, method }) {
var encoding;
var chunk;
let encoding;
let chunk;
switch (type) {
case 'buf':
chunk = Buffer.alloc(len, 'x');
@ -27,7 +27,7 @@ function main({ dur, len, type, method }) {
break;
}
var nreqs = 0;
let nreqs = 0;
const options = {
headers: { 'Connection': 'keep-alive', 'Transfer-Encoding': 'chunked' },
agent: new http.Agent({ maxSockets: 1 }),

View file

@ -18,7 +18,7 @@ if (cluster.isMaster) {
function main({ type, len, c }) {
process.env.PORT = PORT;
var workers = 0;
let workers = 0;
const w1 = cluster.fork();
const w2 = cluster.fork();

View file

@ -19,7 +19,7 @@ const bench = common.createBenchmark(main, {
function main({ len, type, method, c }) {
const http = require('http');
var chunk;
let chunk;
switch (type) {
case 'buf':
chunk = Buffer.alloc(len, 'x');

View file

@ -24,7 +24,7 @@ function main({ n, nheaders }) {
'user-agent': 'SuperBenchmarker 3000'
};
for (var i = 0; i < nheaders; i++) {
for (let i = 0; i < nheaders; i++) {
headersObject[`foo${i}`] = `some header value ${i}`;
}

View file

@ -32,7 +32,7 @@ function usingPredefined() {
}
function main({ n, method, args }) {
var fn;
let fn;
switch (method) {
// '' is a default case for tests
case '':
@ -53,7 +53,7 @@ function main({ n, method, args }) {
}
bench.start();
for (var i = 0; i < n; i++)
for (let i = 0; i < n; i++)
fn('part 1', 'part', 2, 'part 3', 'part', 4);
bench.end(n);
}

View file

@ -14,7 +14,7 @@ function main({ n }) {
FreeList = FreeList.FreeList;
const poolSize = 1000;
const list = new FreeList('test', poolSize, Object);
var j;
let j;
const used = [];
// First, alloc `poolSize` items
@ -24,7 +24,7 @@ function main({ n }) {
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
// Return all the items to the pool
for (j = 0; j < poolSize; j++) {
list.free(used[j]);

View file

@ -11,9 +11,9 @@ const bench = common.createBenchmark(main, {
function runProperty(n) {
const object = {};
var i = 0;
bench.start();
for (; i < n; i++) {
for (let i = 0; i < n; i++) {
object.p1 = 21;
object.p2 = 21;
object.p1 += object.p2;
@ -23,9 +23,9 @@ function runProperty(n) {
function runString(n) {
const object = {};
var i = 0;
bench.start();
for (; i < n; i++) {
for (let i = 0; i < n; i++) {
object['p1'] = 21;
object['p2'] = 21;
object['p1'] += object['p2'];
@ -37,9 +37,9 @@ function runVariable(n) {
const object = {};
const var1 = 'p1';
const var2 = 'p2';
var i = 0;
bench.start();
for (; i < n; i++) {
for (let i = 0; i < n; i++) {
object[var1] = 21;
object[var2] = 21;
object[var1] += object[var2];
@ -51,9 +51,9 @@ function runSymbol(n) {
const object = {};
const symbol1 = Symbol('p1');
const symbol2 = Symbol('p2');
var i = 0;
bench.start();
for (; i < n; i++) {
for (let i = 0; i < n; i++) {
object[symbol1] = 21;
object[symbol2] = 21;
object[symbol1] += object[symbol2];

View file

@ -45,18 +45,17 @@ function usingICU(val) {
}
function runPunycode(n, val) {
var i = 0;
for (; i < n; i++)
for (let i = 0; i < n; i++)
usingPunycode(val);
bench.start();
for (i = 0; i < n; i++)
for (let i = 0; i < n; i++)
usingPunycode(val);
bench.end(n);
}
function runICU(n, val) {
bench.start();
for (var i = 0; i < n; i++)
for (let i = 0; i < n; i++)
usingICU(val);
bench.end(n);
}

View file

@ -15,7 +15,7 @@ const {
function doTrace(n, trace) {
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
trace(kBeforeEvent, 'foo', 'test', 0, 'test');
}
bench.end(n);
@ -23,7 +23,7 @@ function doTrace(n, trace) {
function doIsTraceCategoryEnabled(n, isTraceCategoryEnabled) {
bench.start();
for (var i = 0; i < n; i++) {
for (let i = 0; i < n; i++) {
isTraceCategoryEnabled('foo');
isTraceCategoryEnabled('bar');
}

View file

@ -22,13 +22,13 @@ function main({ n, type }) {
// Force-optimize the method to test so that the benchmark doesn't
// get disrupted by the optimizer kicking in halfway through.
for (var i = 0; i < type.length * 10; i += 1)
for (let i = 0; i < type.length * 10; i += 1)
fn({}, process.env);
const obj = new Proxy({}, { set: function(a, b, c) { return true; } });
bench.start();
for (var j = 0; j < n; j += 1)
for (let j = 0; j < n; j += 1)
fn(obj, process.env);
bench.end(n);
}