| OLD | NEW |
| 1 function fib(n) { | 1 function fib(n) { |
| 2 return n < 2 ? 1 : fib(n - 1) + fib(n - 2); | 2 return n < 2 ? 1 : fib(n - 1) + fib(n - 2); |
| 3 } | 3 } |
| 4 | 4 |
| 5 function eternal_fib() { | 5 function eternal_fib() { |
| 6 var started = Date.now(); | 6 var started = Date.now(); |
| 7 while(true) { | 7 while(true) { |
| 8 fib(20); | 8 fib(20); |
| 9 // Make page responsive by making a break every 100 ms. | 9 // Make page responsive by making a break every 100 ms. |
| 10 if (Date.now() - started >= 100) { | 10 if (Date.now() - started >= 100) { |
| 11 setTimeout(eternal_fib, 0); | 11 setTimeout(eternal_fib, 0); |
| 12 return; | 12 return; |
| 13 } | 13 } |
| 14 } | 14 } |
| 15 } | 15 } |
| 16 | 16 |
| 17 function run_fib() { | 17 function run_fib() { |
| 18 // Let the page do initial rendering, then go. | 18 // Let the page do initial rendering, then go. |
| 19 setTimeout(eternal_fib, 200); | 19 setTimeout(eternal_fib, 200); |
| 20 } | 20 } |
| OLD | NEW |