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