X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=shallow-clone-object.mjs;h=5e68bf8f74194af622252032db81a570b3d445a2;hb=f6612219ab5dc713b40eb7a495086c6df9ca87c5;hp=05a97ec3f0103c9f4a645663d92d3dfa16fc63ef;hpb=f522d7b906f8a45a7e4fd349abe3f83bf8fc3d69;p=benchmarks-js.git diff --git a/shallow-clone-object.mjs b/shallow-clone-object.mjs index 05a97ec..5e68bf8 100644 --- a/shallow-clone-object.mjs +++ b/shallow-clone-object.mjs @@ -1,38 +1,27 @@ /* eslint-disable no-unused-vars */ -import Benchmark from 'benny' import _ from 'lodash' -import { generateRandomObject } from './benchmark-utils.js' +import { bench, group, run } from 'mitata' +import { assoc } from 'rambda' + +import { generateRandomObject } from './benchmark-utils.mjs' const object = generateRandomObject() -Benchmark.suite( - `Shallow clone object with ${Object.keys(object).length} keys`, - Benchmark.add('Spread', (obj = object) => { - const objClone = { ...obj } - }), - Benchmark.add('Object assign', (obj = object) => { - const objClone = Object.assign({}, obj) - }), - Benchmark.add('lodash clone', (obj = object) => { - const objClone = _.clone(obj) - }), - Benchmark.cycle(), - Benchmark.complete(), - Benchmark.save({ - file: 'shallow-clone-object', - format: 'json', - details: true - }), - Benchmark.save({ - file: 'shallow-clone-object', - format: 'chart.html', - details: true - }), - Benchmark.save({ - file: 'shallow-clone-object', - format: 'table.html', - details: true +group(`Shallow clone object with ${Object.keys(object).length} keys`, () => { + bench('Spread', () => { + const objClone = { ...object } + }) + bench('Object assign', () => { + const objClone = Object.assign({}, object) + }) + bench('lodash clone', () => { + const objClone = _.clone(object) }) -).catch(err => { - console.error(err) + bench('rambda assoc', () => { + const objClone = assoc(object) + }) +}) + +await run({ + units: true })