import deepClone from 'deep-clone'
import clone from 'just-clone'
import _ from 'lodash'
-import * as R from 'ramda'
+import { clone as ramdaClone } from 'ramda'
+import { clone as remedaClone } from 'remeda'
import { Bench } from 'tinybench'
import { generateRandomObject } from './benchmark-utils.mjs'
deepClone(obj)
})
.add('ramda clone', (obj = object) => {
- R.clone(obj)
+ ramdaClone(obj)
+ })
+ .add('remeda clone', (obj = object) => {
+ remedaClone(obj)
})
await bench.run()
import deepMerge from 'deepmerge'
import _ from 'lodash'
-import * as R from 'ramda'
+import { mergeDeepRight as ramdaMergeDeepRight } from 'ramda'
+import { mergeDeep as remedaMergeDeep } from 'remeda'
import { Bench } from 'tinybench'
import { generateRandomObject } from './benchmark-utils.mjs'
deepMerge(obj, objectToMerge)
})
.add('ramda mergeDeepRight', (obj = object) => {
- R.mergeDeepRight(obj, objectToMerge)
+ ramdaMergeDeepRight(obj, objectToMerge)
+ })
+ .add('remeda mergeDeep', (obj = object) => {
+ remedaMergeDeep(obj, objectToMerge)
})
await bench.run()
import _ from 'lodash'
-import * as R from 'ramda'
+import { isEmpty as ramdaIsEmpty } from 'ramda'
+import { isEmpty as remedaIsEmpty } from 'remeda'
import { Bench } from 'tinybench'
import { generateRandomObject } from './benchmark-utils.mjs'
_.isEmpty(obj)
})
.add('ramda isEmpty', (obj = object) => {
- R.isEmpty(obj)
+ ramdaIsEmpty(obj)
+ })
+ .add('remeda isEmpty', (obj = object) => {
+ remedaIsEmpty(obj)
})
await bench.run()
-import * as R from 'ramda'
+import { max as ramdaMax, reduce as ramdaReduce } from 'ramda'
import { Bench } from 'tinybench'
import { generateRandomNumberArray } from './benchmark-utils.mjs'
sortMax(testArray)
})
.add('ramda reduce max', () => {
- R.reduce(R.max, Number.NEGATIVE_INFINITY, testArray)
+ ramdaReduce(ramdaMax, Number.NEGATIVE_INFINITY, testArray)
})
await bench.run()
-import * as R from 'ramda'
+import { min as ramdaMin, reduce as ramdaReduce } from 'ramda'
import { Bench } from 'tinybench'
import { generateRandomNumberArray } from './benchmark-utils.mjs'
sortMin(testArray)
})
.add('ramda reduce min', () => {
- R.reduce(R.min, Number.POSITIVE_INFINITY, testArray)
+ ramdaReduce(ramdaMin, Number.POSITIVE_INFINITY, testArray)
})
await bench.run()
"node-object-hash": "^3.1.1",
"object-hash": "^3.0.0",
"ramda": "^0.32.0",
+ "remeda": "^2.33.6",
"tinybench": "^6.0.0",
"uuid": "^13.0.0"
},
ramda:
specifier: ^0.32.0
version: 0.32.0
+ remeda:
+ specifier: ^2.33.6
+ version: 2.33.6
tinybench:
specifier: ^6.0.0
version: 6.0.0
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'}
+ remeda@2.33.6:
+ resolution: {integrity: sha512-tazDGH7s75kUPGBKLvhgBEHMgW+TdDFhjUAMdQj57IoWz6HsGa5D2RX5yDUz6IIqiRRvZiaEHzCzWdTeixc/Kg==}
+
require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
gopd: 1.2.0
set-function-name: 2.0.2
+ remeda@2.33.6: {}
+
require-directory@2.1.1: {}
require-from-string@2.0.2: {}