summaryrefslogtreecommitdiff
path: root/benchmark/assert/deepequal-prims-and-objs-big-loop.js
diff options
context:
space:
mode:
authorRuben Bridgewater <ruben@bridgewater.de>2017-06-28 20:34:19 +0200
committerRefael Ackermann <refack@gmail.com>2017-08-13 14:31:27 -0400
commita7189c0177938545050421a600fb12c21db3858f (patch)
tree73ee334b29807c0499cfb7be37ac83fe52ed8cf1 /benchmark/assert/deepequal-prims-and-objs-big-loop.js
parent6fe72c82d283fead3694368218263ab6bca6572b (diff)
downloadandroid-node-v8-a7189c0177938545050421a600fb12c21db3858f.tar.gz
android-node-v8-a7189c0177938545050421a600fb12c21db3858f.tar.bz2
android-node-v8-a7189c0177938545050421a600fb12c21db3858f.zip
benchmark: fix and extend assert benchmarks
The benchmarks had the strict and non strict labels switched. This is fixed and the benchmarks were extended to check more possible input types and function calls. PR-URL: https://github.com/nodejs/node/pull/14147 Refs: https://github.com/nodejs/node/pull/13973 Reviewed-By: Refael Ackermann <refack@gmail.com> 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.js27
1 files changed, 24 insertions, 3 deletions
diff --git a/benchmark/assert/deepequal-prims-and-objs-big-loop.js b/benchmark/assert/deepequal-prims-and-objs-big-loop.js
index 781c5ad754..2800b51c49 100644
--- a/benchmark/assert/deepequal-prims-and-objs-big-loop.js
+++ b/benchmark/assert/deepequal-prims-and-objs-big-loop.js
@@ -16,7 +16,12 @@ const primValues = {
const bench = common.createBenchmark(main, {
prim: Object.keys(primValues),
n: [1e6],
- method: ['strict', 'nonstrict']
+ method: [
+ 'deepEqual',
+ 'deepStrictEqual',
+ 'notDeepEqual',
+ 'notDeepStrictEqual'
+ ]
});
function main(conf) {
@@ -24,11 +29,12 @@ function main(conf) {
const n = +conf.n;
const actual = prim;
const expected = prim;
+ const expectedWrong = 'b';
var i;
// Creates new array to avoid loop invariant code motion
switch (conf.method) {
- case 'strict':
+ case 'deepEqual':
bench.start();
for (i = 0; i < n; ++i) {
// eslint-disable-next-line no-restricted-properties
@@ -36,13 +42,28 @@ function main(conf) {
}
bench.end(n);
break;
- case 'nonstrict':
+ 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');
}