OLD | NEW |
---|---|
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script> | 3 <script> |
4 function fib(n) { | 4 function fib(n) { |
5 return n < 2 ? 1 : fib(n - 1) + fib(n - 2); | 5 return n < 2 ? 1 : fib(n - 1) + fib(n - 2); |
6 } | 6 } |
7 | 7 |
8 function eternal_fib() { | 8 function eternal_fib() { |
9 window.setTimeout("fib(20); eternal_fib();", 0); | 9 var started = (new Date()).getTime(); |
yurys
2009/09/08 09:46:28
Use Date.now(); instead
mnaganov (inactive)
2009/09/08 09:49:23
Thanks! Done.
| |
10 while(true) { | |
11 fib(20); | |
12 // Make page responsive by making a break every 100 ms. | |
13 if ((new Date()).getTime() - started >= 100) { | |
yurys
2009/09/08 09:46:28
ditto
mnaganov (inactive)
2009/09/08 09:49:23
Done.
| |
14 setTimeout(eternal_fib, 0); | |
15 return; | |
16 } | |
17 } | |
18 } | |
19 | |
20 function load() { | |
21 // Let the page do initial rendering, then go. | |
22 setTimeout(eternal_fib, 200); | |
10 } | 23 } |
11 </script> | 24 </script> |
12 </head> | 25 </head> |
13 <body onload="eternal_fib()"> | 26 <body onload="load()"> |
14 </body> | 27 </body> |
15 </html> | 28 </html> |
OLD | NEW |