Yang Guo | 4fd355c | 2019-09-19 10:59:03 +0200 | [diff] [blame^] | 1 | 'use strict'; |
| 2 | |
| 3 | const Benchmark = require('benchmark'); |
| 4 | const suite = new Benchmark.Suite; |
| 5 | const testData = require('./test.json'); |
| 6 | |
| 7 | |
| 8 | const stringifyPackages = { |
| 9 | // 'JSON.stringify': JSON.stringify, |
| 10 | 'fast-json-stable-stringify': require('../index'), |
| 11 | 'json-stable-stringify': true, |
| 12 | 'fast-stable-stringify': true, |
| 13 | 'faster-stable-stringify': true |
| 14 | }; |
| 15 | |
| 16 | |
| 17 | for (const name in stringifyPackages) { |
| 18 | let func = stringifyPackages[name]; |
| 19 | if (func === true) func = require(name); |
| 20 | |
| 21 | suite.add(name, function() { |
| 22 | func(testData); |
| 23 | }); |
| 24 | } |
| 25 | |
| 26 | suite |
| 27 | .on('cycle', (event) => console.log(String(event.target))) |
| 28 | .on('complete', function () { |
| 29 | console.log('The fastest is ' + this.filter('fastest').map('name')); |
| 30 | }) |
| 31 | .run({async: true}); |