X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=deep-merge-object.mjs;h=5e1ab7bd278dfa122fadef29a59f7466e5566f65;hb=640bccbbcc7114dd8edd7f376e3ced6c8a6d4a31;hp=cce9345231259cf281c95c35d718178c59436048;hpb=f913c68ce1ad111704f1f319706cb99e9659e236;p=benchmarks-js.git diff --git a/deep-merge-object.mjs b/deep-merge-object.mjs index cce9345..5e1ab7b 100644 --- a/deep-merge-object.mjs +++ b/deep-merge-object.mjs @@ -1,43 +1,31 @@ /* eslint-disable no-unused-vars */ -import Benchmark from 'benny' -import _ from 'lodash' -import merge from 'just-merge' import deepMerge from 'deepmerge' +import _ from 'lodash' +import { bench, group, run } from 'mitata' +import { mergeDeepRight } from 'rambda' + import { generateRandomObject } from './benchmark-utils.mjs' const object = generateRandomObject() const objectToMerge = generateRandomObject() -Benchmark.suite( +group( `Deep merge two objects: object with ${ Object.keys(object).length } keys, object with ${Object.keys(objectToMerge).length} keys`, - Benchmark.add('lodash merge', (obj = object) => { - const objMerged = _.merge(obj, objectToMerge) - }), - Benchmark.add('just-merge', (obj = object) => { - const objMerged = merge(obj, objectToMerge) - }), - Benchmark.add('deepmerge', (obj = object) => { - const objMerged = deepMerge(obj, objectToMerge) - }), - Benchmark.cycle(), - Benchmark.complete(), - Benchmark.save({ - file: 'deep-merge-object', - format: 'json', - details: true - }), - Benchmark.save({ - file: 'deep-merge-object', - format: 'chart.html', - details: true - }), - Benchmark.save({ - file: 'deep-merge-object', - format: 'table.html', - details: true - }) -).catch(err => { - console.error(err) + () => { + bench('lodash merge', (obj = object) => { + const objMerged = _.merge(obj, objectToMerge) + }) + bench('rambda mergeDeepRight', (obj = object) => { + const objMerged = mergeDeepRight(obj, objectToMerge) + }) + bench('deepmerge', (obj = object) => { + const objMerged = deepMerge(obj, objectToMerge) + }) + } +) + +await run({ + units: true })