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 |