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