performance recursion vs loop
by Biswa R
JavaScript
function powUsingLoop(x, n) {
var result = 1;
for (var i = 0; i < n; i++) {
result *= x;
}
return result;
}
function powUsingRecusion(x, n) {
if (n == 1) {
return x;
} else {
return x * powUsingRecusion(x, n - 1);
}
}
///lets check with smaller numbers first
//console.time("looping #1");
//console.log(powUsingLoop(2,3));
//console.timeEnd("looping #1");
//console.time("Recursion #1");
//console.log(powUsingRecusion(2,3));
//console.timeEnd("Recursion #1");
///big numbers
//console.time("looping #2");
//console.log(powUsingLoop(2,1000));
//console.timeEnd("looping #2");
//console.time("Recursion #2");
//console.log(powUsingRecusion(2,1000));
//console.timeEnd("Recursion #2");
///infinity
console.time("looping #3");
console.log(powUsingLoop(2,10000));
console.timeEnd("looping #3");
console.time("Recursion #3");
console.log(powUsingRecusion(2,10000));
console.timeEnd("Recursion #3");