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