Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Recursion vs Iteration (with tail recursion)
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
Browser:
Chrome 121
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
recursion
947384.0 Ops/sec
while loop
6716113.0 Ops/sec
for loop
6787554.5 Ops/sec
recurse (tail)
1056807.1 Ops/sec
Script Preparation code:
var nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; function sum_recurse(arr, i) { i = i || 0; if (i > arr.length) return 0; else return arr[i] + sum_recurse(arr, i + 1); } function sum_recurse_tail(arr, i, sum = 0) { i = i || 0; if (i > arr.length) return 0; else return sum_recurse(arr, i + 1, sum + arr[i]); } function sum_while(arr) { var total = 0, i = 0, len = arr.length; while (i < len) { total += arr[i++]; } return total; } function sum_for(arr) { var total = 0, len = arr.length; for (var i = 0; i < len; i++) { total += arr[i]; } return total; }
Tests:
recursion
sum_recurse(nums)
while loop
sum_while(nums)
for loop
sum_for(nums)
recurse (tail)
sum_recurse_tail(nums)