<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1.dtd"> <!-- Author: Anthony Gutierrez --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>University of Michigan - BBench 2.0</title> <script type="text/javascript" src="bbench.js"></script> <script type="text/javascript"> var numTimesToExecute = getURLParams("iterations"); function closeWindow() { window.open('','_self',''); window.close(); } function averageWarm(siteTimes) { var sum = 0; if (numTimesToExecute == 1) return siteTimes[0]; for (i = 0; i < numTimesToExecute - 1; ++i) sum = eval(sum + siteTimes[i]); return (sum / (numTimesToExecute - 1)); } function stdDevWarm(siteTimes) { var avg = averageWarm(siteTimes) var tmpArray = []; if (numTimesToExecute == 1) return 0; for (i = 0; i < numTimesToExecute - 1; ++i) tmpArray[i] = Math.pow((siteTimes[i] - avg), 2); avg = averageWarm(tmpArray); return Math.sqrt(avg); } function geoMean(avgTimes) { var prod = 1; for (i = 0; i < numWebsites; ++i) prod = eval(prod * avgTimes[i]); return Math.pow(prod, (1/numWebsites)); } </script> </head> <body> <img src="mich_engin.png" width="35%"/> <h2>University of Michigan BBench version 2.0</h2> <h3>Results</h3> <script type="text/javascript"> var bbSiteColdTimes = []; var bbSiteTimes = []; var bbSiteAvgRunTime = []; var bbSiteStdDev = []; var bbSiteCoeffVar = []; var bbSiteNames = ["amazon", "bbc", "cnn", "craigslist", "ebay", // "espn", "google", "msn", "slashdot", "twitter"]; // "youtube"]; var windowURL = new Object(); var windowURL2 = new Object(); windowURL.value = window.location.href; windowURL2.value = window.location.href; for (j = 0; j < numWebsites; ++j) { for (i = 0; i < numTimesToExecute; ++i) { var site_time = getAndRemoveURLParams(windowURL, bbSiteNames[j]) - 0; bbSiteTimes[i] = site_time; } bbSiteColdTimes[j] = bbSiteTimes[i - 1]; bbSiteAvgRunTime[j] = averageWarm(bbSiteTimes); bbSiteStdDev[j] = stdDevWarm(bbSiteTimes); bbSiteCoeffVar[j] = (bbSiteStdDev[j] / bbSiteAvgRunTime[j]) * 100; } var bbSiteAvgGeoMean = geoMean(bbSiteAvgRunTime); </script> <table border="1"> <script type="text/javascript"> document.write("<tr align=\"right\"><td>Site Name</td><td>Cold Start Time</td><td>Avg Warm Page Rendering Time (ms)</td><td>Std Dev of Warm Runs</td><td>%Coeff Var of Warm Runs</td>"); for (i = 0; i < numWebsites; ++i) { document.write("<tr align=\"right\">"); document.write("<td>" + bbSiteNames[i] + "</td>"); document.write("<td>" + bbSiteColdTimes[i] + "</td>"); document.write("<td>" + bbSiteAvgRunTime[i].toFixed(2) + "</td>"); document.write("<td>" + bbSiteStdDev[i].toFixed(2) + "</td>"); document.write("<td>" + bbSiteCoeffVar[i].toFixed(2) + "</td>"); document.write("</tr>"); } </script> </table> <br /> <table border="1"> <script type="text/javascript"> document.write("<tr><td>Geometric Mean of Average Warm Runs</td><td>" + bbSiteAvgGeoMean.toFixed(2) + "</td></tr>"); console.log("metrics:" + "Mean = " + bbSiteAvgGeoMean.toFixed(2) + ":") </script> </table> <h3>CSV version of the table:</h3> <script type="text/javascript"> document.write("Site Name,Cold Start Time, Avg Warm Page Rendering Time (ms),Std Dev of Warm Runs,%Coeff Var of Warm Runs<br />"); for (i = 0; i < numWebsites; ++i) { document.write(bbSiteNames[i] + ","); document.write(bbSiteColdTimes[i] + ","); document.write(bbSiteAvgRunTime[i].toFixed(2) + ","); document.write(bbSiteStdDev[i].toFixed(2) + ","); document.write(bbSiteCoeffVar[i].toFixed(2) + "<br />"); console.log("metrics:" + bbSiteNames[i] + "," + bbSiteColdTimes[i] + "," + bbSiteAvgRunTime[i].toFixed(2) + "," + bbSiteStdDev[i].toFixed(2) + "," + bbSiteCoeffVar[i].toFixed(2) + ":"); } document.write("<h3>Individual Site Times:</h3>"); for (j = 0; j < numWebsites; ++j) { for (i = 0; i < numTimesToExecute; ++i) { var site_time = getAndRemoveURLParams(windowURL2, bbSiteNames[j]) - 0; bbSiteTimes[i] = site_time; document.write(bbSiteNames[j] + " load time: " + site_time + "<br />"); } document.write("<br />"); } setTimeout("window.location.href='http://localhost:3030/'", 1); </script> <p> <b>Click the return button to go to the start page.</b> </p> <button onclick="window.location.href='index.html'">return</button> </body> </html>