add timingName option
[dygraphs.git] / tests / dygraph-many-points-benchmark.html
index e092da9..d1e2a58 100644 (file)
@@ -6,14 +6,19 @@
     <!--[if IE]>
     <script type="text/javascript" src="../excanvas.js"></script>
     <![endif]-->
-    <script type="text/javascript" src="../strftime/strftime-min.js"></script>
-    <script type="text/javascript" src="../rgbcolor/rgbcolor.js"></script>
-    <script type="text/javascript" src="../dygraph-canvas.js"></script>
-    <script type="text/javascript" src="../dygraph.js"></script>
+    <!--
+    For production (minified) code, use:
+    <script type="text/javascript" src="dygraph-combined.js"></script>
+    -->
+    <script type="text/javascript" src="../dygraph-dev.js"></script>
+
   </head>
   <body>
     <p>Plot which can be easily generated with different numbers of points for
        benchmarking/profiling and improving performance of dygraphs.</p>    
+    <p>Data to plot:
+      <input type="radio" name="plot_group1" value="sine" onclick="clickedRadioButton(this);" checked> sinusoid function
+      <input type="radio" name="plot_group1" value="rand" onclick="clickedRadioButton(this);"> random points <br></p>
     <p>Number of points:
        <input type="text" id="num_points_input" size="20"></p>
     <p>Number of series:
@@ -33,6 +38,7 @@
 
     <script type="text/javascript">
       var plot;
+      var dataType = "sine";
 
       var durations = [];
       updatePlot = function() {
           var x = xmin + delta * i;
           var elem = [ x ];
           for (var j = 0; j < numSeries; j++) {
-            var y = Math.sin(x + (j * adj));
+            var y;
+            if (dataType == "rand") {
+              y = Math.pow(Math.random() - Math.random(), 7);
+            } else {
+              y = Math.sin(x + (j * adj));
+            }
             elem.push(y);
           }
           data[i] = elem;
         }
         var labels = [ "x" ];
         for (var j = 0; j < numSeries; j++) {
-          labels.push("sin(x + " + (j*adj) + ")");
+          labels.push("data-set-" + j);
         }
         var rollPeriod = parseInt(
             document.getElementById('roll_period_input').value);
-        var opts = {labels: labels, rollPeriod: rollPeriod};
+        var opts = {labels: labels, rollPeriod: rollPeriod, timingName: "x"};
         var millisecondss = [];
         for (var i = 0; i < repetitions; i++) {
           var start = new Date();
           document.getElementById('message').innerHTML =
               "completed in " + (end - start) + " milliseconds.";
         } else {
+          var avg = 0;
+          for (var i = 0; i < millisecondss.length; i++) {
+            avg+=millisecondss[i];
+          }
+          avg/=millisecondss.length; 
           document.getElementById('message').innerHTML =
-              "Durations: " + millisecondss;
+              "Durations: " + millisecondss + " Average: " + avg;
         }
 
         if (durations.length > 0) {
               "completed in " + (end2 - start2) + " milliseconds.";
         }
       };
+      
+      clickedRadioButton = function(radiobutton) {
+        dataType = radiobutton.value;
+      };
+        
 
       document.getElementById('num_points_input').value = '100';
       document.getElementById('num_series_input').value = '1';