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