Merge branch 'master' of https://github.com/kberg/dygraphs
[dygraphs.git] / tests / perf.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7; IE=EmulateIE9">
5 <title>perf</title>
6 <!--[if IE]>
7 <script type="text/javascript" src="../excanvas.js"></script>
8 <![endif]-->
9 <script type="text/javascript" src="../strftime/strftime-min.js"></script>
10 <script type="text/javascript" src="../rgbcolor/rgbcolor.js"></script>
11 <script type="text/javascript" src="../dygraph-canvas.js"></script>
12 <script type="text/javascript" src="../dygraph.js"></script>
13 <script type="text/javascript" src="data.js"></script>
14 </head>
15 <body>
16 <div id="div_g" style="width:600px; height:300px;"></div>
17 <div id="status"></div>
18
19 <script type="text/javascript">
20 var num_tests = 250;
21 var times = [];
22 var start = new Date;
23
24 for (var i = 0; i < num_tests; i++) {
25 var this_start = new Date;
26 // Calling destroy() here reduces the memory usage in Chrome by
27 // ~1.2MB/instantiation.
28 if (i) g.destroy();
29 g = new Dygraph(
30 document.getElementById("div_g"),
31 NoisyData, {
32 rollPeriod: 7,
33 errorBars: true
34 }
35 );
36 var this_end = new Date;
37 times.push([i, this_end - this_start]);
38 }
39
40 var end = new Date;
41
42 document.getElementById("status").innerHTML = "Elapsed time: " + (end - start)/num_tests + " ms/instantiation";
43 perf = new Dygraph(
44 document.getElementById("div_g"),
45 times, {
46 labels: [ "Iteration", "Time (ms)" ]
47 }
48 );
49 </script>
50
51 <p><b>Some numbers on a MacBook Pro 2.53 GHz Core 2 Duo</b><br/>
52 <table border="1"><tbody>
53 <tr><td>commit</td><td>Firefox 3.0.15</td><td>Safari 4.0.3</td></tr>
54 <tr><td>bb5899c56e33716db724cb60a5120b91f5fccdeb</td>
55 <td>28 ms/instantiation</td>
56 <td>15.02 ms/instantiation</td></tr>
57 <tr><td>2847c1cf1a2874e9fe56b5749e6e105e37bb086a</td>
58 <td>49.27 ms/instantiation</td>
59 <td>24.48 ms/instantiation</td></tr>
60 </tbody></table>
61 </p>
62 </body>
63 </html>