build(deps-dev): apply updates
[benchmarks-js.git] / deep-merge-object.mjs
... / ...
CommitLineData
1/* eslint-disable no-unused-vars */
2import deepMerge from 'deepmerge'
3import _ from 'lodash'
4import { mergeDeepRight } from 'rambda'
5import { bench, group, run } from 'tatami-ng'
6
7import { generateRandomObject } from './benchmark-utils.mjs'
8
9const object = generateRandomObject()
10const objectToMerge = generateRandomObject()
11
12group(
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
29await run({
30 units: true
31})