benchmark: use destructuring

This applies to all `async_hooks`, `dns`, `cluster`, `domain` and
`module` benchmarks.

PR-URL: https://github.com/nodejs/node/pull/18250
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Ruben Bridgewater 2017-12-30 04:01:23 +01:00
parent b2966043c9
commit 6394c8d99d
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762
5 changed files with 20 additions and 30 deletions

View File

@ -21,10 +21,8 @@ function endAfterGC(n) {
}); });
} }
function main(conf) { function main({ n, method }) {
const n = +conf.n; switch (method) {
switch (conf.method) {
case 'trackingEnabled': case 'trackingEnabled':
bench.start(); bench.start();
for (let i = 0; i < n; i++) { for (let i = 0; i < n; i++) {

View File

@ -10,22 +10,19 @@ if (cluster.isMaster) {
n: [1e5] n: [1e5]
}); });
function main(conf) { function main({ n, workers, sendsPerBroadcast, payload }) {
const n = +conf.n; const expectedPerBroadcast = sendsPerBroadcast * workers;
const workers = +conf.workers;
const sends = +conf.sendsPerBroadcast;
const expectedPerBroadcast = sends * workers;
var payload;
var readies = 0; var readies = 0;
var broadcasts = 0; var broadcasts = 0;
var msgCount = 0; var msgCount = 0;
var data;
switch (conf.payload) { switch (payload) {
case 'string': case 'string':
payload = 'hello world!'; data = 'hello world!';
break; break;
case 'object': case 'object':
payload = { action: 'pewpewpew', powerLevel: 9001 }; data = { action: 'pewpewpew', powerLevel: 9001 };
break; break;
default: default:
throw new Error('Unsupported payload type'); throw new Error('Unsupported payload type');
@ -51,8 +48,8 @@ if (cluster.isMaster) {
} }
for (id in cluster.workers) { for (id in cluster.workers) {
const worker = cluster.workers[id]; const worker = cluster.workers[id];
for (var i = 0; i < sends; ++i) for (var i = 0; i < sendsPerBroadcast; ++i)
worker.send(payload); worker.send(data);
} }
} }

View File

@ -9,13 +9,10 @@ const bench = common.createBenchmark(main, {
n: [5e6] n: [5e6]
}); });
function main(conf) { function main({ name, n, all }) {
const name = conf.name;
const n = +conf.n;
const all = conf.all === 'true' ? true : false;
var i = 0; var i = 0;
if (all) { if (all === 'true') {
const opts = { all: true }; const opts = { all: true };
bench.start(); bench.start();
(function cb() { (function cb() {

View File

@ -3,17 +3,15 @@ const common = require('../common.js');
const domain = require('domain'); const domain = require('domain');
const bench = common.createBenchmark(main, { const bench = common.createBenchmark(main, {
arguments: [0, 1, 2, 3], args: [0, 1, 2, 3],
n: [10] n: [10]
}); });
const bdomain = domain.create(); const bdomain = domain.create();
const gargs = [1, 2, 3]; const gargs = [1, 2, 3];
function main(conf) { function main({ n, args }) {
const myArguments = gargs.slice(0, args);
const n = +conf.n;
const myArguments = gargs.slice(0, conf.arguments);
bench.start(); bench.start();
bdomain.enter(); bdomain.enter();

View File

@ -12,8 +12,8 @@ const bench = common.createBenchmark(main, {
useCache: ['true', 'false'] useCache: ['true', 'false']
}); });
function main(conf) { function main({ thousands, fullPath, useCache }) {
const n = +conf.thousands * 1e3; const n = thousands * 1e3;
refreshTmpDir(); refreshTmpDir();
try { fs.mkdirSync(benchmarkDirectory); } catch (e) {} try { fs.mkdirSync(benchmarkDirectory); } catch (e) {}
@ -30,10 +30,10 @@ function main(conf) {
); );
} }
if (conf.fullPath === 'true') if (fullPath === 'true')
measureFull(n, conf.useCache === 'true'); measureFull(n, useCache === 'true');
else else
measureDir(n, conf.useCache === 'true'); measureDir(n, useCache === 'true');
refreshTmpDir(); refreshTmpDir();
} }