Rambda v11 removed clone, isEmpty, and mergeDeepRight with no equivalents.
The remaining 'merge' is shallow-only, inappropriate for deep-merge benchmark.
import deepMerge from 'deepmerge'
import _ from 'lodash'
-import { merge as rambdaMerge } from 'rambda'
import { Bench } from 'tinybench'
import { generateRandomObject } from './benchmark-utils.mjs'
.add('lodash merge', (obj = object) => {
_.merge(obj, objectToMerge)
})
- .add('rambda merge', (obj = object) => {
- rambdaMerge(obj, objectToMerge)
- })
.add('deepmerge', (obj = object) => {
deepMerge(obj, objectToMerge)
})
"lodash": "^4.17.23",
"node-object-hash": "^3.1.1",
"object-hash": "^3.0.0",
- "rambda": "^11.1.0",
"tinybench": "^6.0.0",
"uuid": "^13.0.0"
},
object-hash:
specifier: ^3.0.0
version: 3.0.0
- rambda:
- specifier: ^11.1.0
- version: 11.1.0
tinybench:
specifier: ^6.0.0
version: 6.0.0
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
- rambda@11.1.0:
- resolution: {integrity: sha512-trnSijNtQHw8QecCZR31nLAa1Ixg6QJPsUIx2iqy5ZH5jdY1Z7/DvH9bMTS4rSGJW5Tza0ST9eG6RRqAbQaohQ==}
-
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
punycode@2.3.1: {}
- rambda@11.1.0: {}
-
react-is@16.13.1: {}
reflect.getprototypeof@1.0.10: