diff options
Diffstat (limited to 'benchmark/assert/deepequal-typedarrays.js')
-rw-r--r-- | benchmark/assert/deepequal-typedarrays.js | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/benchmark/assert/deepequal-typedarrays.js b/benchmark/assert/deepequal-typedarrays.js index 1954c57ee5..037cfb2cf1 100644 --- a/benchmark/assert/deepequal-typedarrays.js +++ b/benchmark/assert/deepequal-typedarrays.js @@ -1,23 +1,41 @@ 'use strict'; -var common = require('../common.js'); -var assert = require('assert'); -var bench = common.createBenchmark(main, { +const common = require('../common.js'); +const assert = require('assert'); +const bench = common.createBenchmark(main, { type: ('Int8Array Uint8Array Int16Array Uint16Array Int32Array Uint32Array ' + 'Float32Array Float64Array Uint8ClampedArray').split(' '), - n: [1] + n: [1], + method: ['strict', 'nonstrict'], + len: [1e6] }); function main(conf) { - var type = conf.type; - var clazz = global[type]; - var n = +conf.n; + const type = conf.type; + const clazz = global[type]; + const n = +conf.n; + const len = +conf.len; - bench.start(); - var actual = new clazz(n * 1e6); - var expected = new clazz(n * 1e6); + const actual = new clazz(len); + const expected = new clazz(len); + var i; - // eslint-disable-next-line no-restricted-properties - assert.deepEqual(actual, expected); - - bench.end(n); + switch (conf.method) { + case 'strict': + bench.start(); + for (i = 0; i < n; ++i) { + // eslint-disable-next-line no-restricted-properties + assert.deepEqual(actual, expected); + } + bench.end(n); + break; + case 'nonstrict': + bench.start(); + for (i = 0; i < n; ++i) { + assert.deepStrictEqual(actual, expected); + } + bench.end(n); + break; + default: + throw new Error('Unsupported method'); + } } |