summaryrefslogtreecommitdiff
path: root/benchmark/assert/deepequal-prims-and-objs-big-loop.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2018-01-23 13:17:21 +0100
committerRuben Bridgewater <ruben@bridgewater.de>2018-02-01 10:48:58 +0100
commitcd7b2c434c8e0936e8305d7aa3baab874ad1f0dc (patch)
treeaad116959965cb855ceeedb8980a6ae164119581 /benchmark/assert/deepequal-prims-and-objs-big-loop.js
parentf951c9a9f02e1193e2843497e3cfed1b263c9721 (diff)
downloadandroid-node-v8-cd7b2c434c8e0936e8305d7aa3baab874ad1f0dc.tar.gz
android-node-v8-cd7b2c434c8e0936e8305d7aa3baab874ad1f0dc.tar.bz2
android-node-v8-cd7b2c434c8e0936e8305d7aa3baab874ad1f0dc.zip
benchmark: (assert) refactor
PR-URL: https://github.com/nodejs/node/pull/18320 Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'benchmark/assert/deepequal-prims-and-objs-big-loop.js')
-rw-r--r--benchmark/assert/deepequal-prims-and-objs-big-loop.js45
1 files changed, 8 insertions, 37 deletions
diff --git a/benchmark/assert/deepequal-prims-and-objs-big-loop.js b/benchmark/assert/deepequal-prims-and-objs-big-loop.js
index 09797dfaf2..ec51201d51 100644
--- a/benchmark/assert/deepequal-prims-and-objs-big-loop.js
+++ b/benchmark/assert/deepequal-prims-and-objs-big-loop.js
@@ -29,43 +29,14 @@ function main({ n, primitive, method }) {
const actual = prim;
const expected = prim;
const expectedWrong = 'b';
- var i;
- // Creates new array to avoid loop invariant code motion
- switch (method) {
- case '':
- // Empty string falls through to next line as default, mostly for tests.
- case 'deepEqual':
- bench.start();
- for (i = 0; i < n; ++i) {
- // eslint-disable-next-line no-restricted-properties
- assert.deepEqual([actual], [expected]);
- }
- bench.end(n);
- break;
- case 'deepStrictEqual':
- bench.start();
- for (i = 0; i < n; ++i) {
- assert.deepStrictEqual([actual], [expected]);
- }
- bench.end(n);
- break;
- case 'notDeepEqual':
- bench.start();
- for (i = 0; i < n; ++i) {
- // eslint-disable-next-line no-restricted-properties
- assert.notDeepEqual([actual], [expectedWrong]);
- }
- bench.end(n);
- break;
- case 'notDeepStrictEqual':
- bench.start();
- for (i = 0; i < n; ++i) {
- assert.notDeepStrictEqual([actual], [expectedWrong]);
- }
- bench.end(n);
- break;
- default:
- throw new Error('Unsupported method');
+ // eslint-disable-next-line no-restricted-properties
+ const fn = method !== '' ? assert[method] : assert.deepEqual;
+ const value2 = method.includes('not') ? expectedWrong : expected;
+
+ bench.start();
+ for (var i = 0; i < n; ++i) {
+ fn([actual], [value2]);
}
+ bench.end(n);
}