1 const Benchmark
= require('benny')
9 function fibonacciLoop (num
) {
13 for (let i
= 2; i
<= num
; i
++) {
14 fib
[i
] = fib
[i
- 2] + fib
[i
- 1]
23 function fibonacciRecursion (num
) {
24 if (num
<= 1) return num
25 return fibonacciRecursion(num
- 1) + fibonacciRecursion(num
- 2)
33 function fibonacciRecursionMemoization (num
, memo
) {
36 if (memo
[num
]) return memo
[num
]
37 if (num
<= 1) return num
40 fibonacciRecursionMemoization(num
- 1, memo
) +
41 fibonacciRecursionMemoization(num
- 2, memo
))
45 `Fibonacci number ${number}`,
46 Benchmark
.add('fibonacciLoop', () => {
49 Benchmark
.add('fibonacciRecursion', () => {
50 fibonacciRecursion(number
)
52 Benchmark
.add('fibonacciRecursionMemoization', () => {
53 fibonacciRecursionMemoization(number
)
57 Benchmark
.save({ file
: 'fibonacci', format
: 'json', details
: true }),
58 Benchmark
.save({ file
: 'fibonacci', format
: 'chart.html', details
: true }),
59 Benchmark
.save({ file
: 'fibonacci', format
: 'table.html', details
: true })