npm install fast-deep-equal
var equal = require('fast-deep-equal'); console.log(equal({foo: 'bar'}, {foo: 'bar'})); // true
Node.js v9.11.1:
fast-deep-equal x 226,960 ops/sec ±1.55% (86 runs sampled) nano-equal x 218,210 ops/sec ±0.79% (89 runs sampled) shallow-equal-fuzzy x 206,762 ops/sec ±0.84% (88 runs sampled) underscore.isEqual x 128,668 ops/sec ±0.75% (91 runs sampled) lodash.isEqual x 44,895 ops/sec ±0.67% (85 runs sampled) deep-equal x 51,616 ops/sec ±0.96% (90 runs sampled) deep-eql x 28,218 ops/sec ±0.42% (85 runs sampled) assert.deepStrictEqual x 1,777 ops/sec ±1.05% (86 runs sampled) ramda.equals x 13,466 ops/sec ±0.82% (86 runs sampled) The fastest is fast-deep-equal
To run benchmark (requires node.js 6+):
npm install
node benchmark