From 363723fc84f7b8477592e0105aeb331ec9a017af Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 14 Aug 2017 05:01:11 +0200 Subject: node_modules --- node_modules/fast-deep-equal/benchmark/index.js | 56 +++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 node_modules/fast-deep-equal/benchmark/index.js (limited to 'node_modules/fast-deep-equal/benchmark/index.js') diff --git a/node_modules/fast-deep-equal/benchmark/index.js b/node_modules/fast-deep-equal/benchmark/index.js new file mode 100644 index 000000000..ed01a39fb --- /dev/null +++ b/node_modules/fast-deep-equal/benchmark/index.js @@ -0,0 +1,56 @@ +'use strict'; + +const assertDeepStrictEqual = require('assert').deepStrictEqual; +const tests = require('../spec/tests'); +const Benchmark = require('benchmark'); +const suite = new Benchmark.Suite; + + +const equalPackages = { + 'fast-deep-equal': require('../index'), + 'nano-equal': true, + 'shallow-equal-fuzzy': true, + 'underscore.isEqual': require('underscore').isEqual, + 'lodash.isEqual': require('lodash').isEqual, + 'deep-equal': true, + 'deep-eql': true, + 'assert.deepStrictEqual': (a, b) => { + try { assertDeepStrictEqual(a, b); return true; } + catch(e) { return false; } + } +}; + + +for (const equalName in equalPackages) { + let equalFunc = equalPackages[equalName]; + if (equalFunc === true) equalFunc = require(equalName); + + for (const testSuite of tests) { + for (const test of testSuite.tests) { + try { + if (equalFunc(test.value1, test.value2) !== test.equal) + console.error('different result', equalName, testSuite.description, test.description); + } catch(e) { + console.error(equalName, testSuite.description, test.description, e); + } + } + } + + suite.add(equalName, function() { + for (const testSuite of tests) { + for (const test of testSuite.tests) { + if (test.description != 'pseudo array and equivalent array are not equal') + equalFunc(test.value1, test.value2); + } + } + }); +} + +console.log(); + +suite + .on('cycle', (event) => console.log(String(event.target))) + .on('complete', function () { + console.log('The fastest is ' + this.filter('fastest').map('name')); + }) + .run({async: true}); -- cgit v1.2.3