X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=fibonacci.js;h=286c69cf498c688dbd48d99763b80c18d53c2f7c;hb=356f5456279cc6c438fb6a0f20d0e3b19595cc20;hp=b5a7fbbdfc53912767a954ede90c4ec5e3b22f21;hpb=a9c78d5d3394dce4eccd9f244c88879666cba677;p=benchmarks-js.git diff --git a/fibonacci.js b/fibonacci.js index b5a7fbb..286c69c 100644 --- a/fibonacci.js +++ b/fibonacci.js @@ -1,12 +1,10 @@ -const Benchmark = require('benchmark') -const { LIST_FORMATTER } = require('./benchmark-utils') - -const suite = new Benchmark.Suite() +const Benchmark = require('benny') const number = 30 /** * @param num + * @returns */ function fibonacciLoop (num) { let a = 1 @@ -25,6 +23,7 @@ function fibonacciLoop (num) { /** * @param num + * @returns */ function fibonacciRecursion (num) { if (num <= 1) return 1 @@ -35,6 +34,7 @@ function fibonacciRecursion (num) { /** * @param num * @param memo + * @returns */ function fibonacciRecursionMemoization (num, memo) { memo = memo || {} @@ -47,24 +47,20 @@ function fibonacciRecursionMemoization (num, memo) { fibonacciRecursionMemoization(num - 2, memo)) } -suite - .add('fibonacciLoop', function () { +Benchmark.suite( + `Fibonacci number ${number}`, + Benchmark.add('fibonacciLoop', () => { fibonacciLoop(number) - }) - .add('fibonacciRecursion', function () { + }), + Benchmark.add('fibonacciRecursion', () => { fibonacciRecursion(number) - }) - .add('fibonacciRecursionMemoization', function () { + }), + Benchmark.add('fibonacciRecursionMemoization', () => { fibonacciRecursionMemoization(number) - }) - .on('cycle', function (event) { - console.log(event.target.toString()) - }) - .on('complete', function () { - console.log( - 'Fastest is ' + LIST_FORMATTER.format(this.filter('fastest').map('name')) - ) - // eslint-disable-next-line no-process-exit - process.exit() - }) - .run() + }), + Benchmark.cycle(), + Benchmark.complete(), + Benchmark.save({ file: 'fibonacci', format: 'json', details: true }), + Benchmark.save({ file: 'fibonacci', format: 'chart.html', details: true }), + Benchmark.save({ file: 'fibonacci', format: 'table.html', details: true }) +)