/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v22.22.2
benchmark/assert/deepequal-object.js
43 строки
952 B
Ruben Bridgewater
benchmark: adjust assert runtimes
17 апр 2025, 16:51
Не верифицирован
17 апр 2025, 16:51
a58842c
Код
Авторство
О чём код?
'use strict'; const common = require('../common.js'); const assert = require('assert'); const bench = common.createBenchmark(main, { n: [50, 2e2], size: [1e2, 1e4], method: ['deepEqual', 'notDeepEqual', 'deepStrictEqual', 'notDeepStrictEqual'], }, { combinationFilter: (p) => { return p.size === 1e4 && p.n === 50 || p.size === 1e3 && p.n === 2e2 || p.size === 1e2 && p.n === 2e3 || p.size === 1; }, }); function createObj(size, add = '') { return Array.from({ length: size }, (n) => ({ foo: 'yarp', nope: { bar: `123${add}`, a: [1, 2, 3], baz: n, c: {}, b: [], }, })); } function main({ size, n, method }) { const fn = assert[method]; const actual = createObj(size); const expected = method.includes('not') ? createObj(size, '4') : createObj(size); bench.start(); for (let i = 0; i < n; ++i) { fn(actual, expected); } bench.end(n); }