| OLD | NEW | 
|---|
| 1 <html> | 1 <html> | 
| 2 <head> | 2 <head> | 
| 3 <style> | 3 <style> | 
| 4 .discarded { | 4 .discarded { | 
| 5   color: #C0C0C0; | 5   color: #C0C0C0; | 
| 6 } | 6 } | 
| 7 </style> | 7 </style> | 
| 8 <h2>Summary</h2> | 8 <h2>Summary</h2> | 
| 9 <dl> | 9 <dl> | 
| 10 <script src="head.js"></script> | 10 <script src="head.js"></script> | 
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 72     r.vari = 0; | 72     r.vari = 0; | 
| 73     for (var i = 0; i < ary.length; ++i) { | 73     for (var i = 0; i < ary.length; ++i) { | 
| 74       if (i == r.indexOfMax) | 74       if (i == r.indexOfMax) | 
| 75         continue; | 75         continue; | 
| 76       var d = r.mean - ary[i]; | 76       var d = r.mean - ary[i]; | 
| 77       r.vari = r.vari + d * d; | 77       r.vari = r.vari + d * d; | 
| 78     } | 78     } | 
| 79 | 79 | 
| 80     r.vari = r.vari / (ary.length - 1); | 80     r.vari = r.vari / (ary.length - 1); | 
| 81     r.stdd = Math.sqrt(r.vari); | 81     r.stdd = Math.sqrt(r.vari); | 
|  | 82     r.errp = r.stdd / Math.sqrt((ary.length - 1) / 2) / r.mean * 100; | 
| 82     return r; | 83     return r; | 
| 83   } | 84   } | 
| 84 | 85 | 
| 85   function appendTableCol(tr, text, linkify) { | 86   function appendTableCol(tr, text, linkify) { | 
| 86     var doc = tr.ownerDocument; | 87     var doc = tr.ownerDocument; | 
| 87     var td = doc.createElement("TD"); | 88     var td = doc.createElement("TD"); | 
| 88 | 89 | 
| 89     if (linkify) { | 90     if (linkify) { | 
| 90       var anchor = doc.createElement("A"); | 91       var anchor = doc.createElement("A"); | 
| 91       anchor.href = text + "/index.html?skip=true"; | 92       if (text.indexOf('http://localhost:') == 0 || | 
|  | 93           text.indexOf('file://') == 0) { | 
|  | 94         // URLs for page cycler HTTP and file tests. | 
|  | 95         anchor.href = text + "/index.html?skip=true"; | 
|  | 96       } else { | 
|  | 97         // For Web Page Replay, URLs are same as recorded pages. | 
|  | 98         anchor.href = text; | 
|  | 99       } | 
| 92       anchor.appendChild(doc.createTextNode(text)); | 100       anchor.appendChild(doc.createTextNode(text)); | 
| 93       td.appendChild(anchor); | 101       td.appendChild(anchor); | 
| 94     } | 102     } | 
| 95     else | 103     else | 
| 96       td.appendChild(doc.createTextNode(text)); | 104       td.appendChild(doc.createTextNode(text)); | 
| 97     tr.appendChild(td); | 105     tr.appendChild(td); | 
| 98     return td; | 106     return td; | 
| 99   } | 107   } | 
| 100 | 108 | 
| 101   function getTimeVals() { | 109   function getTimeVals() { | 
| 102     var rawData = __get_timings().split(","); | 110     var rawData = __get_timings().split(","); | 
| 103     var timeVals = []; | 111     var timeVals = []; | 
| 104     for (var i = 0; i < iterations; ++i) { | 112     for (var i = 0; i < iterations; ++i) { | 
| 105       for (var j = 0; j < pages; ++j) { | 113       for (var j = 0; j < pages; ++j) { | 
| 106         if (!timeVals[j]) | 114         if (!timeVals[j]) | 
| 107           timeVals[j] = []; | 115           timeVals[j] = []; | 
| 108         timeVals[j].push(parseInt(rawData[j + i*pages])); | 116         timeVals[j].push(parseInt(rawData[j + i*pages])); | 
| 109       } | 117       } | 
| 110     } | 118     } | 
| 111     return timeVals; | 119     return timeVals; | 
| 112   } | 120   } | 
| 113 | 121 | 
| 114   function showReport() { | 122   function showReport() { | 
| 115     var tbody = document.getElementById("tbody"); | 123     var tbody = document.getElementById("tbody"); | 
| 116     var colsums = [0,0,0,0]; | 124     var colsums = [0,0,0,0,0]; | 
| 117     var timeVals = getTimeVals(); | 125     var timeVals = getTimeVals(); | 
| 118     for (var i = 0; i < timeVals.length; ++i) { | 126     for (var i = 0; i < timeVals.length; ++i) { | 
| 119       var tr = document.createElement("TR"); | 127       var tr = document.createElement("TR"); | 
| 120 | 128 | 
| 121       appendTableCol(tr, __pages()[i], true); | 129       appendTableCol(tr, __pages()[i], true); | 
| 122 | 130 | 
| 123       var r = getArrayStats(timeVals[i]); | 131       var r = getArrayStats(timeVals[i]); | 
| 124       appendTableCol(tr, r.min.toFixed(2)); | 132       appendTableCol(tr, r.min.toFixed(2)); | 
| 125       appendTableCol(tr, r.max.toFixed(2)); | 133       appendTableCol(tr, r.max.toFixed(2)); | 
| 126       appendTableCol(tr, r.mean.toFixed(2)); | 134       appendTableCol(tr, r.mean.toFixed(2)); | 
| 127       appendTableCol(tr, r.stdd.toFixed(2)); | 135       appendTableCol(tr, r.stdd.toFixed(2)); | 
|  | 136       appendTableCol(tr, r.errp.toFixed(2)); | 
| 128       //appendTableCol(tr, r.chi2.toFixed(2)); | 137       //appendTableCol(tr, r.chi2.toFixed(2)); | 
| 129 | 138 | 
| 130       for (var j = 0; j < timeVals[i].length; ++j) { | 139       for (var j = 0; j < timeVals[i].length; ++j) { | 
| 131         var tv = timeVals[i][j]; | 140         var tv = timeVals[i][j]; | 
| 132         var td = appendTableCol(tr, tv); | 141         var td = appendTableCol(tr, tv); | 
| 133         if (j == r.indexOfMax) | 142         if (j == r.indexOfMax) | 
| 134           td.setAttribute("class", "discarded"); | 143           td.setAttribute("class", "discarded"); | 
| 135       } | 144       } | 
| 136 | 145 | 
| 137       colsums[0] = colsums[0] + r.min; | 146       colsums[0] = colsums[0] + r.min; | 
| 138       colsums[1] = colsums[1] + r.max; | 147       colsums[1] = colsums[1] + r.max; | 
| 139       colsums[2] = colsums[2] + r.mean; | 148       colsums[2] = colsums[2] + r.mean; | 
| 140       colsums[3] = colsums[3] + r.stdd; | 149       colsums[3] = colsums[3] + r.stdd; | 
|  | 150       colsums[4] = colsums[4] + r.errp; | 
| 141 | 151 | 
| 142       tbody.appendChild(tr); | 152       tbody.appendChild(tr); | 
| 143     } | 153     } | 
| 144 | 154 | 
| 145     var tr = document.createElement("TR"); | 155     var tr = document.createElement("TR"); | 
| 146     appendTableCol(tr, "totals:"); | 156     appendTableCol(tr, "totals:"); | 
| 147     for (var k = 0; k < colsums.length; ++k) | 157     for (var k = 0; k < colsums.length; ++k) | 
| 148       appendTableCol(tr, colsums[k].toFixed(2)); | 158       appendTableCol(tr, colsums[k].toFixed(2)); | 
| 149     tbody.appendChild(tr); | 159     tbody.appendChild(tr); | 
| 150   } | 160   } | 
| 151   window.onload = showReport; | 161   window.onload = showReport; | 
| 152 | 162 | 
| 153 </script> | 163 </script> | 
| 154 </dl> | 164 </dl> | 
| 155 </head> | 165 </head> | 
| 156 <body> | 166 <body> | 
| 157 <h2>Complete Statistics</h2> | 167 <h2>Complete Statistics</h2> | 
| 158 <table border="1"> | 168 <table border="1"> | 
| 159 <thead> | 169 <thead> | 
| 160 <tr> | 170 <tr> | 
| 161   <th>Site</th> | 171   <th>Site</th> | 
| 162   <th>Min</th> | 172   <th>Min</th> | 
| 163   <th>Max</th> | 173   <th>Max</th> | 
| 164   <th>Mean</th> | 174   <th>Mean</th> | 
| 165   <th>Std.d</th> | 175   <th>Std.d</th> | 
|  | 176   <th>Err %</th> | 
| 166   <th colspan="10">Runs</th> | 177   <th colspan="10">Runs</th> | 
| 167 </tr> | 178 </tr> | 
| 168 </thead> | 179 </thead> | 
| 169 <tbody id="tbody"></tbody> | 180 <tbody id="tbody"></tbody> | 
| 170 </table> | 181 </table> | 
| 171 </body> | 182 </body> | 
| 172 </html> | 183 </html> | 
| 173 |  | 
| OLD | NEW | 
|---|