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