build(deps): use poolifier mitata repo
[benchmarks-js.git] / deep-merge-object.mjs
CommitLineData
896570f7 1/* eslint-disable no-unused-vars */
896570f7 2import deepMerge from 'deepmerge'
0c01f51c 3import _ from 'lodash'
ab9a08f3
JB
4import { bench, group, run } from 'mitata'
5import { mergeDeepRight } from 'rambda'
0c01f51c 6
896570f7
JB
7import { generateRandomObject } from './benchmark-utils.mjs'
8
9const object = generateRandomObject()
10const objectToMerge = generateRandomObject()
11
ab9a08f3 12group(
896570f7
JB
13 `Deep merge two objects: object with ${
14 Object.keys(object).length
15 } keys, object with ${Object.keys(objectToMerge).length} keys`,
ab9a08f3
JB
16 () => {
17 bench('lodash merge', (obj = object) => {
18 const objMerged = _.merge(obj, objectToMerge)
19 })
20 bench('rambda mergeDeepRight', (obj = object) => {
21 const objMerged = mergeDeepRight(obj, objectToMerge)
22 })
23 bench('deepmerge', (obj = object) => {
24 const objMerged = deepMerge(obj, objectToMerge)
25 })
26 }
27)
28
29await run({
30 units: true
31})