Apply dependencies update
[benchmarks-js.git] / fibonacci.js
index b5a7fbbdfc53912767a954ede90c4ec5e3b22f21..286c69cf498c688dbd48d99763b80c18d53c2f7c 100644 (file)
@@ -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 })
+)