diff options
Diffstat (limited to 'deps/node/benchmark/assert')
-rw-r--r-- | deps/node/benchmark/assert/deepequal-buffer.js | 34 | ||||
-rw-r--r-- | deps/node/benchmark/assert/deepequal-map.js | 73 | ||||
-rw-r--r-- | deps/node/benchmark/assert/deepequal-object.js | 49 | ||||
-rw-r--r-- | deps/node/benchmark/assert/deepequal-prims-and-objs-big-array-set.js | 73 | ||||
-rw-r--r-- | deps/node/benchmark/assert/deepequal-prims-and-objs-big-loop.js | 38 | ||||
-rw-r--r-- | deps/node/benchmark/assert/deepequal-set.js | 78 | ||||
-rw-r--r-- | deps/node/benchmark/assert/deepequal-typedarrays.js | 45 | ||||
-rw-r--r-- | deps/node/benchmark/assert/ok.js | 18 | ||||
-rw-r--r-- | deps/node/benchmark/assert/throws.js | 45 |
9 files changed, 0 insertions, 453 deletions
diff --git a/deps/node/benchmark/assert/deepequal-buffer.js b/deps/node/benchmark/assert/deepequal-buffer.js deleted file mode 100644 index b8d7529e..00000000 --- a/deps/node/benchmark/assert/deepequal-buffer.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict'; -const common = require('../common.js'); -const assert = require('assert'); - -const bench = common.createBenchmark(main, { - n: [2e4], - len: [1e2, 1e3], - strict: [0, 1], - method: [ 'deepEqual', 'notDeepEqual' ], -}); - -function main({ len, n, method, strict }) { - if (!method) - method = 'deepEqual'; - const data = Buffer.allocUnsafe(len + 1); - const actual = Buffer.alloc(len); - const expected = Buffer.alloc(len); - const expectedWrong = Buffer.alloc(len + 1); - data.copy(actual); - data.copy(expected); - data.copy(expectedWrong); - - if (strict) { - method = method.replace('eep', 'eepStrict'); - } - const fn = assert[method]; - const value2 = method.includes('not') ? expectedWrong : expected; - - bench.start(); - for (var i = 0; i < n; ++i) { - fn(actual, value2); - } - bench.end(n); -} diff --git a/deps/node/benchmark/assert/deepequal-map.js b/deps/node/benchmark/assert/deepequal-map.js deleted file mode 100644 index ea1b73ce..00000000 --- a/deps/node/benchmark/assert/deepequal-map.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; - -const common = require('../common.js'); -const { deepEqual, deepStrictEqual, notDeepEqual, notDeepStrictEqual } = - require('assert'); - -const bench = common.createBenchmark(main, { - n: [5e2], - len: [5e2], - strict: [0, 1], - method: [ - 'deepEqual_primitiveOnly', - 'deepEqual_objectOnly', - 'deepEqual_mixed', - 'notDeepEqual_primitiveOnly', - 'notDeepEqual_objectOnly', - 'notDeepEqual_mixed', - ], -}); - -function benchmark(method, n, values, values2) { - const actual = new Map(values); - // Prevent reference equal elements - const deepCopy = JSON.parse(JSON.stringify(values2 ? values2 : values)); - const expected = new Map(deepCopy); - bench.start(); - for (var i = 0; i < n; ++i) { - method(actual, expected); - } - bench.end(n); -} - -function main({ n, len, method, strict }) { - const array = Array(len).fill(1); - var values, values2; - - switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. - case 'deepEqual_primitiveOnly': - values = array.map((_, i) => [`str_${i}`, 123]); - benchmark(strict ? deepStrictEqual : deepEqual, n, values); - break; - case 'deepEqual_objectOnly': - values = array.map((_, i) => [[`str_${i}`, 1], 123]); - benchmark(strict ? deepStrictEqual : deepEqual, n, values); - break; - case 'deepEqual_mixed': - values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]); - benchmark(strict ? deepStrictEqual : deepEqual, n, values); - break; - case 'notDeepEqual_primitiveOnly': - values = array.map((_, i) => [`str_${i}`, 123]); - values2 = values.slice(0); - values2[Math.floor(len / 2)] = ['w00t', 123]; - benchmark(strict ? notDeepStrictEqual : notDeepEqual, n, values, values2); - break; - case 'notDeepEqual_objectOnly': - values = array.map((_, i) => [[`str_${i}`, 1], 123]); - values2 = values.slice(0); - values2[Math.floor(len / 2)] = [['w00t'], 123]; - benchmark(strict ? notDeepStrictEqual : notDeepEqual, n, values, values2); - break; - case 'notDeepEqual_mixed': - values = array.map((_, i) => [i % 2 ? [`str_${i}`, 1] : `str_${i}`, 123]); - values2 = values.slice(0); - values2[0] = ['w00t', 123]; - benchmark(strict ? notDeepStrictEqual : notDeepEqual, n, values, values2); - break; - default: - throw new Error(`Unsupported method ${method}`); - } -} diff --git a/deps/node/benchmark/assert/deepequal-object.js b/deps/node/benchmark/assert/deepequal-object.js deleted file mode 100644 index 240da23d..00000000 --- a/deps/node/benchmark/assert/deepequal-object.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict'; - -const common = require('../common.js'); -const assert = require('assert'); - -const bench = common.createBenchmark(main, { - n: [5e3], - size: [1e2, 1e3, 5e4], - strict: [0, 1], - method: [ 'deepEqual', 'notDeepEqual' ], -}); - -function createObj(source, add = '') { - return source.map((n) => ({ - foo: 'yarp', - nope: { - bar: `123${add}`, - a: [1, 2, 3], - baz: n, - c: {}, - b: [], - }, - })); -} - -function main({ size, n, method, strict }) { - // TODO: Fix this "hack". `n` should not be manipulated. - n = Math.min(Math.ceil(n / size), 20); - - if (!method) - method = 'deepEqual'; - - const source = Array.apply(null, Array(size)); - const actual = createObj(source); - const expected = createObj(source); - const expectedWrong = createObj(source, '4'); - - if (strict) { - method = method.replace('eep', 'eepStrict'); - } - const fn = assert[method]; - const value2 = method.includes('not') ? expectedWrong : expected; - - bench.start(); - for (var i = 0; i < n; ++i) { - fn(actual, value2); - } - bench.end(n); -} diff --git a/deps/node/benchmark/assert/deepequal-prims-and-objs-big-array-set.js b/deps/node/benchmark/assert/deepequal-prims-and-objs-big-array-set.js deleted file mode 100644 index 981ec3f0..00000000 --- a/deps/node/benchmark/assert/deepequal-prims-and-objs-big-array-set.js +++ /dev/null @@ -1,73 +0,0 @@ -'use strict'; - -const common = require('../common.js'); -const { deepEqual, deepStrictEqual, notDeepEqual, notDeepStrictEqual } = - require('assert'); - -const primValues = { - 'string': 'a', - 'number': 1, - 'object': { 0: 'a' }, - 'array': [1, 2, 3], -}; - -const bench = common.createBenchmark(main, { - primitive: Object.keys(primValues), - n: [25], - len: [2e4], - strict: [0, 1], - method: [ - 'deepEqual_Array', - 'notDeepEqual_Array', - 'deepEqual_Set', - 'notDeepEqual_Set', - ], -}); - -function run(fn, n, actual, expected) { - bench.start(); - for (var i = 0; i < n; ++i) { - fn(actual, expected); - } - bench.end(n); -} - -function main({ n, len, primitive, method, strict }) { - const prim = primValues[primitive]; - const actual = []; - const expected = []; - const expectedWrong = []; - - for (var x = 0; x < len; x++) { - actual.push(prim); - expected.push(prim); - expectedWrong.push(prim); - } - expectedWrong.pop(); - expectedWrong.push('b'); - - // Note: primitives are only added once to a set - const actualSet = new Set(actual); - const expectedSet = new Set(expected); - const expectedWrongSet = new Set(expectedWrong); - - switch (method) { - // Empty string falls through to next line as default, mostly for tests. - case '': - case 'deepEqual_Array': - run(strict ? deepStrictEqual : deepEqual, n, actual, expected); - break; - case 'notDeepEqual_Array': - run(strict ? notDeepStrictEqual : notDeepEqual, n, actual, expectedWrong); - break; - case 'deepEqual_Set': - run(strict ? deepStrictEqual : deepEqual, n, actualSet, expectedSet); - break; - case 'notDeepEqual_Set': - run(strict ? notDeepStrictEqual : notDeepEqual, - n, actualSet, expectedWrongSet); - break; - default: - throw new Error(`Unsupported method "${method}"`); - } -} diff --git a/deps/node/benchmark/assert/deepequal-prims-and-objs-big-loop.js b/deps/node/benchmark/assert/deepequal-prims-and-objs-big-loop.js deleted file mode 100644 index 00b3c785..00000000 --- a/deps/node/benchmark/assert/deepequal-prims-and-objs-big-loop.js +++ /dev/null @@ -1,38 +0,0 @@ -'use strict'; -const common = require('../common.js'); -const assert = require('assert'); - -const primValues = { - 'string': 'a', - 'number': 1, - 'object': { 0: 'a' }, - 'array': [1, 2, 3], -}; - -const bench = common.createBenchmark(main, { - primitive: Object.keys(primValues), - n: [2e4], - strict: [0, 1], - method: [ 'deepEqual', 'notDeepEqual' ], -}); - -function main({ n, primitive, method, strict }) { - if (!method) - method = 'deepEqual'; - const prim = primValues[primitive]; - const actual = prim; - const expected = prim; - const expectedWrong = 'b'; - - if (strict) { - method = method.replace('eep', 'eepStrict'); - } - const fn = assert[method]; - const value2 = method.includes('not') ? expectedWrong : expected; - - bench.start(); - for (var i = 0; i < n; ++i) { - fn([actual], [value2]); - } - bench.end(n); -} diff --git a/deps/node/benchmark/assert/deepequal-set.js b/deps/node/benchmark/assert/deepequal-set.js deleted file mode 100644 index b4406b26..00000000 --- a/deps/node/benchmark/assert/deepequal-set.js +++ /dev/null @@ -1,78 +0,0 @@ -'use strict'; - -const common = require('../common.js'); -const { deepEqual, deepStrictEqual, notDeepEqual, notDeepStrictEqual } = - require('assert'); - -const bench = common.createBenchmark(main, { - n: [5e2], - len: [5e2], - strict: [0, 1], - method: [ - 'deepEqual_primitiveOnly', - 'deepEqual_objectOnly', - 'deepEqual_mixed', - 'notDeepEqual_primitiveOnly', - 'notDeepEqual_objectOnly', - 'notDeepEqual_mixed', - ], -}); - -function benchmark(method, n, values, values2) { - const actual = new Set(values); - // Prevent reference equal elements - const deepCopy = JSON.parse(JSON.stringify(values2 ? values2 : values)); - const expected = new Set(deepCopy); - bench.start(); - for (var i = 0; i < n; ++i) { - method(actual, expected); - } - bench.end(n); -} - -function main({ n, len, method, strict }) { - const array = Array(len).fill(1); - - var values, values2; - - switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. - case 'deepEqual_primitiveOnly': - values = array.map((_, i) => `str_${i}`); - benchmark(strict ? deepStrictEqual : deepEqual, n, values); - break; - case 'deepEqual_objectOnly': - values = array.map((_, i) => [`str_${i}`, null]); - benchmark(strict ? deepStrictEqual : deepEqual, n, values); - break; - case 'deepEqual_mixed': - values = array.map((_, i) => { - return i % 2 ? [`str_${i}`, null] : `str_${i}`; - }); - benchmark(strict ? deepStrictEqual : deepEqual, n, values); - break; - case 'notDeepEqual_primitiveOnly': - values = array.map((_, i) => `str_${i}`); - values2 = values.slice(0); - values2[Math.floor(len / 2)] = 'w00t'; - benchmark(strict ? notDeepStrictEqual : notDeepEqual, n, values, values2); - break; - case 'notDeepEqual_objectOnly': - values = array.map((_, i) => [`str_${i}`, null]); - values2 = values.slice(0); - values2[Math.floor(len / 2)] = ['w00t']; - benchmark(strict ? notDeepStrictEqual : notDeepEqual, n, values, values2); - break; - case 'notDeepEqual_mixed': - values = array.map((_, i) => { - return i % 2 ? [`str_${i}`, null] : `str_${i}`; - }); - values2 = values.slice(); - values2[0] = 'w00t'; - benchmark(strict ? notDeepStrictEqual : notDeepEqual, n, values, values2); - break; - default: - throw new Error(`Unsupported method "${method}"`); - } -} diff --git a/deps/node/benchmark/assert/deepequal-typedarrays.js b/deps/node/benchmark/assert/deepequal-typedarrays.js deleted file mode 100644 index 9acf8371..00000000 --- a/deps/node/benchmark/assert/deepequal-typedarrays.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; -const common = require('../common.js'); -const assert = require('assert'); - -const bench = common.createBenchmark(main, { - type: [ - 'Int8Array', - 'Uint8Array', - 'Float32Array', - 'Float64Array', - 'Uint8ClampedArray', - ], - n: [5e2], - strict: [0, 1], - method: [ - 'deepEqual', - 'notDeepEqual', - ], - len: [1e2, 5e3], -}); - -function main({ type, n, len, method, strict }) { - if (!method) - method = 'deepEqual'; - const clazz = global[type]; - const actual = new clazz(len); - const expected = new clazz(len); - const expectedWrong = new clazz(len); - const wrongIndex = Math.floor(len / 2); - expectedWrong[wrongIndex] = 123; - - if (strict) { - method = method.replace('eep', 'eepStrict'); - } - const fn = assert[method]; - const value2 = method.includes('not') ? expectedWrong : expected; - - bench.start(); - for (var i = 0; i < n; ++i) { - actual[0] = i; - value2[0] = i; - fn(actual, value2); - } - bench.end(n); -} diff --git a/deps/node/benchmark/assert/ok.js b/deps/node/benchmark/assert/ok.js deleted file mode 100644 index c50c0e06..00000000 --- a/deps/node/benchmark/assert/ok.js +++ /dev/null @@ -1,18 +0,0 @@ -'use strict'; - -const common = require('../common.js'); -const assert = require('assert'); - -const bench = common.createBenchmark(main, { n: [1e5] }); - -function main({ n }) { - var i; - bench.start(); - for (i = 0; i < n; ++i) { - if (i % 2 === 0) - assert(true); - else - assert(true, 'foo bar baz'); - } - bench.end(n); -} diff --git a/deps/node/benchmark/assert/throws.js b/deps/node/benchmark/assert/throws.js deleted file mode 100644 index 3a632637..00000000 --- a/deps/node/benchmark/assert/throws.js +++ /dev/null @@ -1,45 +0,0 @@ -'use strict'; - -const common = require('../common.js'); -const { throws, doesNotThrow } = require('assert'); - -const bench = common.createBenchmark(main, { - n: [1e4], - method: [ 'doesNotThrow', 'throws_TypeError', 'throws_RegExp' ], -}); - -function main({ n, method }) { - const throwError = () => { throw new TypeError('foobar'); }; - const doNotThrowError = () => { return 'foobar'; }; - const regExp = /foobar/; - const message = 'failure'; - var i; - - switch (method) { - case '': - // Empty string falls through to next line as default, mostly for tests. - case 'doesNotThrow': - bench.start(); - for (i = 0; i < n; ++i) { - doesNotThrow(doNotThrowError); - } - bench.end(n); - break; - case 'throws_TypeError': - bench.start(); - for (i = 0; i < n; ++i) { - throws(throwError, TypeError, message); - } - bench.end(n); - break; - case 'throws_RegExp': - bench.start(); - for (i = 0; i < n; ++i) { - throws(throwError, regExp, message); - } - bench.end(n); - break; - default: - throw new Error(`Unsupported method ${method}`); - } -} |