Why use recursion? Is it faster?
Let’s run a benchmark between the three different fibonacci
functions we wrote in this chapter:
The Iterative
version is much faster than the Recursive
versions, so this means recursion is slower. However, take another look at the code of the three different versions. Recursion is easier to understand, and it usually requires less code as well. Also, for some algorithms, an Iterative
solution may not even be available, and with tail call elimination, the recursion penalty may even be removed.
So, we usually use recursion because it is easier to solve problems using it.
Note
The fibonacci
function tests are available at https://jsperf.com/fibonacci-comparison-jsbook.