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:8000/') == 0 || |
tonyg
2012/04/13 14:32:21
Use a regex that avoids hardcoding the port #?
slamm_google
2012/04/13 23:43:36
I just left the port off.
| |
93 text.indexOf('file://') == 0) { | |
94 anchor.href = text + "/index.html?skip=true"; | |
95 } else { | |
96 // For Web Page Replay, URLs are unchanged from originals. | |
97 anchor.href = text; | |
98 } | |
92 anchor.appendChild(doc.createTextNode(text)); | 99 anchor.appendChild(doc.createTextNode(text)); |
93 td.appendChild(anchor); | 100 td.appendChild(anchor); |
94 } | 101 } |
95 else | 102 else |
96 td.appendChild(doc.createTextNode(text)); | 103 td.appendChild(doc.createTextNode(text)); |
97 tr.appendChild(td); | 104 tr.appendChild(td); |
98 return td; | 105 return td; |
99 } | 106 } |
100 | 107 |
101 function getTimeVals() { | 108 function getTimeVals() { |
102 var rawData = __get_timings().split(","); | 109 var rawData = __get_timings().split(","); |
103 var timeVals = []; | 110 var timeVals = []; |
104 for (var i = 0; i < iterations; ++i) { | 111 for (var i = 0; i < iterations; ++i) { |
105 for (var j = 0; j < pages; ++j) { | 112 for (var j = 0; j < pages; ++j) { |
106 if (!timeVals[j]) | 113 if (!timeVals[j]) |
107 timeVals[j] = []; | 114 timeVals[j] = []; |
108 timeVals[j].push(parseInt(rawData[j + i*pages])); | 115 timeVals[j].push(parseInt(rawData[j + i*pages])); |
109 } | 116 } |
110 } | 117 } |
111 return timeVals; | 118 return timeVals; |
112 } | 119 } |
113 | 120 |
114 function showReport() { | 121 function showReport() { |
115 var tbody = document.getElementById("tbody"); | 122 var tbody = document.getElementById("tbody"); |
116 var colsums = [0,0,0,0]; | 123 var colsums = [0,0,0,0,0]; |
117 var timeVals = getTimeVals(); | 124 var timeVals = getTimeVals(); |
118 for (var i = 0; i < timeVals.length; ++i) { | 125 for (var i = 0; i < timeVals.length; ++i) { |
119 var tr = document.createElement("TR"); | 126 var tr = document.createElement("TR"); |
120 | 127 |
121 appendTableCol(tr, __pages()[i], true); | 128 appendTableCol(tr, __pages()[i], true); |
122 | 129 |
123 var r = getArrayStats(timeVals[i]); | 130 var r = getArrayStats(timeVals[i]); |
124 appendTableCol(tr, r.min.toFixed(2)); | 131 appendTableCol(tr, r.min.toFixed(2)); |
125 appendTableCol(tr, r.max.toFixed(2)); | 132 appendTableCol(tr, r.max.toFixed(2)); |
126 appendTableCol(tr, r.mean.toFixed(2)); | 133 appendTableCol(tr, r.mean.toFixed(2)); |
127 appendTableCol(tr, r.stdd.toFixed(2)); | 134 appendTableCol(tr, r.stdd.toFixed(2)); |
135 appendTableCol(tr, r.errp.toFixed(2)); | |
128 //appendTableCol(tr, r.chi2.toFixed(2)); | 136 //appendTableCol(tr, r.chi2.toFixed(2)); |
129 | 137 |
130 for (var j = 0; j < timeVals[i].length; ++j) { | 138 for (var j = 0; j < timeVals[i].length; ++j) { |
131 var tv = timeVals[i][j]; | 139 var tv = timeVals[i][j]; |
132 var td = appendTableCol(tr, tv); | 140 var td = appendTableCol(tr, tv); |
133 if (j == r.indexOfMax) | 141 if (j == r.indexOfMax) |
134 td.setAttribute("class", "discarded"); | 142 td.setAttribute("class", "discarded"); |
135 } | 143 } |
136 | 144 |
137 colsums[0] = colsums[0] + r.min; | 145 colsums[0] = colsums[0] + r.min; |
138 colsums[1] = colsums[1] + r.max; | 146 colsums[1] = colsums[1] + r.max; |
139 colsums[2] = colsums[2] + r.mean; | 147 colsums[2] = colsums[2] + r.mean; |
140 colsums[3] = colsums[3] + r.stdd; | 148 colsums[3] = colsums[3] + r.stdd; |
149 colsums[4] = colsums[4] + r.errp; | |
141 | 150 |
142 tbody.appendChild(tr); | 151 tbody.appendChild(tr); |
143 } | 152 } |
144 | 153 |
145 var tr = document.createElement("TR"); | 154 var tr = document.createElement("TR"); |
146 appendTableCol(tr, "totals:"); | 155 appendTableCol(tr, "totals:"); |
147 for (var k = 0; k < colsums.length; ++k) | 156 for (var k = 0; k < colsums.length; ++k) |
148 appendTableCol(tr, colsums[k].toFixed(2)); | 157 appendTableCol(tr, colsums[k].toFixed(2)); |
149 tbody.appendChild(tr); | 158 tbody.appendChild(tr); |
150 } | 159 } |
151 window.onload = showReport; | 160 window.onload = showReport; |
152 | 161 |
153 </script> | 162 </script> |
154 </dl> | 163 </dl> |
155 </head> | 164 </head> |
156 <body> | 165 <body> |
157 <h2>Complete Statistics</h2> | 166 <h2>Complete Statistics</h2> |
158 <table border="1"> | 167 <table border="1"> |
159 <thead> | 168 <thead> |
160 <tr> | 169 <tr> |
161 <th>Site</th> | 170 <th>Site</th> |
162 <th>Min</th> | 171 <th>Min</th> |
163 <th>Max</th> | 172 <th>Max</th> |
164 <th>Mean</th> | 173 <th>Mean</th> |
165 <th>Std.d</th> | 174 <th>Std.d</th> |
175 <th>Err %</th> | |
166 <th colspan="10">Runs</th> | 176 <th colspan="10">Runs</th> |
167 </tr> | 177 </tr> |
168 </thead> | 178 </thead> |
169 <tbody id="tbody"></tbody> | 179 <tbody id="tbody"></tbody> |
170 </table> | 180 </table> |
171 </body> | 181 </body> |
172 </html> | 182 </html> |
173 | |
OLD | NEW |