benchmark: (assert) use destructuring

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 03:54:30 +01:00
parent 0beef3f030
commit 366fd03af0
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762
8 changed files with 23 additions and 40 deletions

View File

@ -13,9 +13,7 @@ const bench = common.createBenchmark(main, {
]
});
function main(conf) {
const n = +conf.n;
const len = +conf.len;
function main({ len, n, method }) {
var i;
const data = Buffer.allocUnsafe(len + 1);
@ -26,7 +24,7 @@ function main(conf) {
data.copy(expected);
data.copy(expectedWrong);
switch (conf.method) {
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case 'deepEqual':

View File

@ -38,14 +38,11 @@ function benchmark(method, n, values, values2) {
bench.end(n);
}
function main(conf) {
const n = +conf.n;
const len = +conf.len;
function main({ n, len, method }) {
const array = Array(len).fill(1);
var values, values2;
switch (conf.method) {
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case 'deepEqual_primitiveOnly':

View File

@ -25,10 +25,9 @@ function createObj(source, add = '') {
}));
}
function main(conf) {
const size = conf.size;
// TODO: Fix this "hack"
const n = conf.n / size;
function main({ size, n, method }) {
// TODO: Fix this "hack". `n` should not be manipulated.
n = n / size;
var i;
const source = Array.apply(null, Array(size));
@ -36,7 +35,7 @@ function main(conf) {
const expected = createObj(source);
const expectedWrong = createObj(source, '4');
switch (conf.method) {
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case 'deepEqual':

View File

@ -15,7 +15,7 @@ const primValues = {
};
const bench = common.createBenchmark(main, {
prim: Object.keys(primValues),
primitive: Object.keys(primValues),
n: [25],
len: [1e5],
method: [
@ -30,10 +30,8 @@ const bench = common.createBenchmark(main, {
]
});
function main(conf) {
const prim = primValues[conf.prim];
const n = +conf.n;
const len = +conf.len;
function main({ n, len, primitive, method }) {
const prim = primValues[primitive];
const actual = [];
const expected = [];
const expectedWrong = [];
@ -52,7 +50,7 @@ function main(conf) {
const expectedSet = new Set(expected);
const expectedWrongSet = new Set(expectedWrong);
switch (conf.method) {
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case 'deepEqual_Array':

View File

@ -14,7 +14,7 @@ const primValues = {
};
const bench = common.createBenchmark(main, {
prim: Object.keys(primValues),
primitive: Object.keys(primValues),
n: [1e6],
method: [
'deepEqual',
@ -24,16 +24,15 @@ const bench = common.createBenchmark(main, {
]
});
function main(conf) {
const prim = primValues[conf.prim];
const n = +conf.n;
function main({ n, primitive, method }) {
const prim = primValues[primitive];
const actual = prim;
const expected = prim;
const expectedWrong = 'b';
var i;
// Creates new array to avoid loop invariant code motion
switch (conf.method) {
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case 'deepEqual':

View File

@ -38,15 +38,12 @@ function benchmark(method, n, values, values2) {
bench.end(n);
}
function main(conf) {
const n = +conf.n;
const len = +conf.len;
function main({ n, len, method }) {
const array = Array(len).fill(1);
var values, values2;
switch (conf.method) {
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case 'deepEqual_primitiveOnly':

View File

@ -24,12 +24,8 @@ const bench = common.createBenchmark(main, {
len: [1e6]
});
function main(conf) {
const type = conf.type;
function main({ type, n, len, method }) {
const clazz = global[type];
const n = +conf.n;
const len = +conf.len;
const actual = new clazz(len);
const expected = new clazz(len);
const expectedWrong = Buffer.alloc(len);
@ -37,7 +33,7 @@ function main(conf) {
expectedWrong[wrongIndex] = 123;
var i;
switch (conf.method) {
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case 'deepEqual':

View File

@ -13,15 +13,14 @@ const bench = common.createBenchmark(main, {
]
});
function main(conf) {
const n = +conf.n;
function main({ n, method }) {
const throws = () => { throw new TypeError('foobar'); };
const doesNotThrow = () => { return 'foobar'; };
const regExp = /foobar/;
const message = 'failure';
var i;
switch (conf.method) {
switch (method) {
case '':
// Empty string falls through to next line as default, mostly for tests.
case 'doesNotThrow':
@ -54,6 +53,6 @@ function main(conf) {
bench.end(n);
break;
default:
throw new Error(`Unsupported method ${conf.method}`);
throw new Error(`Unsupported method ${method}`);
}
}