import deepClone from 'deep-clone'
import clone from 'just-clone'
import _ from 'lodash'
+import * as R from 'ramda'
import { Bench } from 'tinybench'
import { generateRandomObject } from './benchmark-utils.mjs'
.add('deep-clone', (obj = object) => {
deepClone(obj)
})
+ .add('ramda clone', (obj = object) => {
+ R.clone(obj)
+ })
await bench.run()
import deepMerge from 'deepmerge'
import _ from 'lodash'
+import * as R from 'ramda'
import { Bench } from 'tinybench'
import { generateRandomObject } from './benchmark-utils.mjs'
.add('deepmerge', (obj = object) => {
deepMerge(obj, objectToMerge)
})
+ .add('ramda mergeDeepRight', (obj = object) => {
+ R.mergeDeepRight(obj, objectToMerge)
+ })
await bench.run()
import _ from 'lodash'
+import * as R from 'ramda'
import { Bench } from 'tinybench'
import { generateRandomObject } from './benchmark-utils.mjs'
.add('lodash isEmpty', (obj = object) => {
_.isEmpty(obj)
})
+ .add('ramda isEmpty', (obj = object) => {
+ R.isEmpty(obj)
+ })
await bench.run()
+import * as R from 'ramda'
import { Bench } from 'tinybench'
import { generateRandomNumberArray } from './benchmark-utils.mjs'
.add('sortMax', () => {
sortMax(testArray)
})
+ .add('ramda reduce max', () => {
+ R.reduce(R.max, Number.NEGATIVE_INFINITY, testArray)
+ })
await bench.run()
+import * as R from 'ramda'
import { Bench } from 'tinybench'
import { generateRandomNumberArray } from './benchmark-utils.mjs'
.add('sortMin', () => {
sortMin(testArray)
})
+ .add('ramda reduce min', () => {
+ R.reduce(R.min, Number.POSITIVE_INFINITY, testArray)
+ })
await bench.run()
"lodash": "^4.17.23",
"node-object-hash": "^3.1.1",
"object-hash": "^3.0.0",
+ "ramda": "^0.32.0",
"tinybench": "^6.0.0",
"uuid": "^13.0.0"
},
object-hash:
specifier: ^3.0.0
version: 3.0.0
+ ramda:
+ specifier: ^0.32.0
+ version: 0.32.0
tinybench:
specifier: ^6.0.0
version: 6.0.0
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
+ ramda@0.32.0:
+ resolution: {integrity: sha512-GQWAHhxhxWBWA8oIBr1XahFVjQ9Fic6MK9ikijfd4TZHfE2+urfk+irVlR5VOn48uwMgM+loRRBJd6Yjsbc0zQ==}
+
react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
punycode@2.3.1: {}
+ ramda@0.32.0: {}
+
react-is@16.13.1: {}
reflect.getprototypeof@1.0.10: