build(deps-dev): apply updates
[benchmarks-js.git] / shallow-clone-object.mjs
... / ...
CommitLineData
1/* eslint-disable no-unused-vars */
2import _ from 'lodash'
3import { assoc } from 'rambda'
4import { bench, group, run } from 'tatami-ng'
5
6import { generateRandomObject } from './benchmark-utils.mjs'
7
8const object = generateRandomObject()
9
10group(`Shallow clone object with ${Object.keys(object).length} keys`, () => {
11 bench('Spread', () => {
12 return { ...object }
13 })
14 bench('Object assign', () => {
15 return Object.assign({}, object)
16 })
17 bench('lodash clone', () => {
18 _.clone(object)
19 })
20 bench('rambda assoc', () => {
21 assoc(object)
22 })
23})
24
25await run({
26 units: true
27})