function fib(n) { | |
return n < 2 ? 1 : fib(n - 1) + fib(n - 2); | |
} | |
function eternal_fib() { | |
var started = Date.now(); | |
while(true) { | |
fib(20); | |
// Make page responsive by making a break every 100 ms. | |
if (Date.now() - started >= 100) { | |
setTimeout(eternal_fib, 0); | |
return; | |
} | |
} | |
} | |
function run_fib() { | |
// Let the page do initial rendering, then go. | |
setTimeout(eternal_fib, 200); | |
} |