lodash-merge-vs-lodash-defaults-vs-vanilla-javascript (v5)

Revision 5 of this benchmark created by dndushkin on


Description

test performance for extending objects using lodash.merge, lodash.defaults, and vanilla javascript

Preparation HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.2.1/lodash.js"></script>

Setup

defaults = {
      url: 'https://example.com/api',
      service: 'info',
      method: 'GET'
    };
    options = {
      id: 12345,
      service: 'device-management',
      stype: 'devices'
    };
    
    extend = function (target, source) {
      for (var key in source) {
          target[key] = source[key];
      }
      return target;
    };

Test runner

Ready to run.

Testing in
TestOps/sec
lodash merge
var settings = _.merge(defaults, options);
 
ready
lodash defaults
var settings = _.defaults(options, defaults);
 
ready
vanilla javascript extend
var settings = window.extend(defaults, options);
ready
lodash assign
var settings = _.assign(defaults, options);
 
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.