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.