Skip to content

Instantly share code, notes, and snippets.

@chickenfoot88
Created October 11, 2016 10:17
Show Gist options
  • Save chickenfoot88/c198826b4bf9031e656c5dc4b89d5361 to your computer and use it in GitHub Desktop.
Save chickenfoot88/c198826b4bf9031e656c5dc4b89d5361 to your computer and use it in GitHub Desktop.
function sumTo(n) { // обычный цикл 1+2+...+n
var result = 0;
for (var i = 1; i <= n; i++) {
result += i;
}
return result;
}
function sumToRec(n) { // рекурсия sumToRec(n) = n+SumToRec(n-1)
return n == 1 ? 1 : n + sumToRec(n - 1);
}
var timeLoop = performance.now();
for (var i = 1; i < 1000; i++) sumTo(1000); // цикл
timeLoop = performance.now() - timeLoop;
var timeRecursion = performance.now();
for (var i = 1; i < 1000; i++) sumToRec(1000); // рекурсия
timeRecursion = performance.now() - timeRecursion;
alert( "Разница в " + (timeRecursion / timeLoop) + " раз" );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment