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");