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