TehShrike / deepmerge

A library for deep (recursive) merging of Javascript objects
MIT License
2.75k stars 216 forks source link

Improve Performance of getKeys #247

Closed Uzlopak closed 1 year ago

Uzlopak commented 2 years ago

master: merge existing simple keys in target at the roots x 1,547,519 ops/sec ±1.55% (83 runs sampled)

this: merge existing simple keys in target at the roots x 2,557,243 ops/sec ±1.36% (87 runs sampled)

benchmark:


var Benchmark = require('benchmark');
var merge = require('.');
var suite = new Benchmark.Suite;

var srcSimple = { key1: 'changed', key2: 'value2' }
var targetSimple = { key1: 'value1', key3: 'value3' }

// add tests
suite.add('merge existing simple keys in target at the roots', function() {
    var res = merge(targetSimple, srcSimple)
})
// add listeners
.on('cycle', function(event) {
  console.log(String(event.target));
})
// run async
.run({ 'async': true });