benchmark: refactor deepequal-map

This is a minor refactor of benchmark/assert/deepequal-map.js to
reduce exceptions that need to be made for lint compliance.

PR-URL: https://github.com/nodejs/node/pull/21030
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
This commit is contained in:
Rich Trott 2018-05-30 03:38:35 +00:00
parent 206b19cc3f
commit 1000c785bd

View File

@ -1,9 +1,8 @@
'use strict'; 'use strict';
/* eslint-disable no-restricted-properties */
const common = require('../common.js'); const common = require('../common.js');
const assert = require('assert'); const { deepEqual, deepStrictEqual, notDeepEqual, notDeepStrictEqual } =
require('assert');
const bench = common.createBenchmark(main, { const bench = common.createBenchmark(main, {
n: [5e2], n: [5e2],
@ -47,74 +46,74 @@ function main({ n, len, method }) {
// Empty string falls through to next line as default, mostly for tests. // Empty string falls through to next line as default, mostly for tests.
case 'deepEqual_primitiveOnly': case 'deepEqual_primitiveOnly':
values = array.map((_, i) => [`str_${i}`, 123]); values = array.map((_, i) => [`str_${i}`, 123]);
benchmark(assert.deepEqual, n, values); benchmark(deepEqual, n, values);
break; break;
case 'deepStrictEqual_primitiveOnly': case 'deepStrictEqual_primitiveOnly':
values = array.map((_, i) => [`str_${i}`, 123]); values = array.map((_, i) => [`str_${i}`, 123]);
benchmark(assert.deepStrictEqual, n, values); benchmark(deepStrictEqual, n, values);
break; break;
case 'deepEqual_objectOnly': case 'deepEqual_objectOnly':
values = array.map((_, i) => [[`str_${i}`, 1], 123]); values = array.map((_, i) => [[`str_${i}`, 1], 123]);
benchmark(assert.deepEqual, n, values); benchmark(deepEqual, n, values);
break; break;
case 'deepStrictEqual_objectOnly': case 'deepStrictEqual_objectOnly':
values = array.map((_, i) => [[`str_${i}`, 1], 123]); values = array.map((_, i) => [[`str_${i}`, 1], 123]);
benchmark(assert.deepStrictEqual, n, values); benchmark(deepStrictEqual, n, values);
break; break;
case 'deepEqual_mixed': case 'deepEqual_mixed':
values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]); values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]);
benchmark(assert.deepEqual, n, values); benchmark(deepEqual, n, values);
break; break;
case 'deepStrictEqual_mixed': case 'deepStrictEqual_mixed':
values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]); values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]);
benchmark(assert.deepStrictEqual, n, values); benchmark(deepStrictEqual, n, values);
break; break;
case 'deepEqual_looseMatches': case 'deepEqual_looseMatches':
values = array.map((_, i) => [i, i]); values = array.map((_, i) => [i, i]);
values2 = values.slice().map((v) => [String(v[0]), String(v[1])]); values2 = values.slice().map((v) => [String(v[0]), String(v[1])]);
benchmark(assert.deepEqual, n, values, values2); benchmark(deepEqual, n, values, values2);
break; break;
case 'notDeepEqual_primitiveOnly': case 'notDeepEqual_primitiveOnly':
values = array.map((_, i) => [`str_${i}`, 123]); values = array.map((_, i) => [`str_${i}`, 123]);
values2 = values.slice(0); values2 = values.slice(0);
values2[Math.floor(len / 2)] = ['w00t', 123]; values2[Math.floor(len / 2)] = ['w00t', 123];
benchmark(assert.notDeepEqual, n, values, values2); benchmark(notDeepEqual, n, values, values2);
break; break;
case 'notDeepStrictEqual_primitiveOnly': case 'notDeepStrictEqual_primitiveOnly':
values = array.map((_, i) => [`str_${i}`, 123]); values = array.map((_, i) => [`str_${i}`, 123]);
values2 = values.slice(0); values2 = values.slice(0);
values2[Math.floor(len / 2)] = ['w00t', 123]; values2[Math.floor(len / 2)] = ['w00t', 123];
benchmark(assert.notDeepStrictEqual, n, values, values2); benchmark(notDeepStrictEqual, n, values, values2);
break; break;
case 'notDeepEqual_objectOnly': case 'notDeepEqual_objectOnly':
values = array.map((_, i) => [[`str_${i}`, 1], 123]); values = array.map((_, i) => [[`str_${i}`, 1], 123]);
values2 = values.slice(0); values2 = values.slice(0);
values2[Math.floor(len / 2)] = [['w00t'], 123]; values2[Math.floor(len / 2)] = [['w00t'], 123];
benchmark(assert.notDeepEqual, n, values, values2); benchmark(notDeepEqual, n, values, values2);
break; break;
case 'notDeepStrictEqual_objectOnly': case 'notDeepStrictEqual_objectOnly':
values = array.map((_, i) => [[`str_${i}`, 1], 123]); values = array.map((_, i) => [[`str_${i}`, 1], 123]);
values2 = values.slice(0); values2 = values.slice(0);
values2[Math.floor(len / 2)] = [['w00t'], 123]; values2[Math.floor(len / 2)] = [['w00t'], 123];
benchmark(assert.notDeepStrictEqual, n, values, values2); benchmark(notDeepStrictEqual, n, values, values2);
break; break;
case 'notDeepEqual_mixed': case 'notDeepEqual_mixed':
values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]); values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]);
values2 = values.slice(0); values2 = values.slice(0);
values2[0] = ['w00t', 123]; values2[0] = ['w00t', 123];
benchmark(assert.notDeepEqual, n, values, values2); benchmark(notDeepEqual, n, values, values2);
break; break;
case 'notDeepStrictEqual_mixed': case 'notDeepStrictEqual_mixed':
values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]); values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]);
values2 = values.slice(0); values2 = values.slice(0);
values2[0] = ['w00t', 123]; values2[0] = ['w00t', 123];
benchmark(assert.notDeepStrictEqual, n, values, values2); benchmark(notDeepStrictEqual, n, values, values2);
break; break;
case 'notDeepEqual_looseMatches': case 'notDeepEqual_looseMatches':
values = array.map((_, i) => [i, i]); values = array.map((_, i) => [i, i]);
values2 = values.slice().map((v) => [String(v[0]), String(v[1])]); values2 = values.slice().map((v) => [String(v[0]), String(v[1])]);
values2[len - 1] = [String(len + 1), String(len + 1)]; values2[len - 1] = [String(len + 1), String(len + 1)];
benchmark(assert.notDeepEqual, n, values, values2); benchmark(notDeepEqual, n, values, values2);
break; break;
default: default:
throw new Error(`Unsupported method ${method}`); throw new Error(`Unsupported method ${method}`);