From: rniwa@webkit.org Date: Mon, 17 Sep 2012 18:17:10 +0000 (+0000) Subject: Perf test results is incomprehensive X-Git-Url: http://git.webkit.org/?p=WebKit-https.git;a=commitdiff_plain;h=d970a242c6d4404f20208f16a6b0784f6a0b2037;ds=sidebyside Perf test results is incomprehensive https://bugs.webkit.org/show_bug.cgi?id=94668 Reviewed by Eric Seidel. Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have. For each run and test, we show the mean value with the standard deviation along with the percent difference against the reference run chosen by the user if the difference is statistically significant; it also indicates whether the new value is progression or not. The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted by each column. Time and memory results are separated into two tabs. * resources/jquery.tablesorter.min.js: Added. * resources/results-template.html: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@128779 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- diff --git a/PerformanceTests/ChangeLog b/PerformanceTests/ChangeLog index 9372a40..09bf2e8 100644 --- a/PerformanceTests/ChangeLog +++ b/PerformanceTests/ChangeLog @@ -1,3 +1,21 @@ +2012-09-17 Ryosuke Niwa + + Perf test results is incomprehensive + https://bugs.webkit.org/show_bug.cgi?id=94668 + + Reviewed by Eric Seidel. + + Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have. + For each run and test, we show the mean value with the standard deviation along with the percent difference + against the reference run chosen by the user if the difference is statistically significant; it also indicates + whether the new value is progression or not. + + The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted + by each column. Time and memory results are separated into two tabs. + + * resources/jquery.tablesorter.min.js: Added. + * resources/results-template.html: + 2012-09-14 Ryosuke Niwa Use performance.webkitNow in PerfTestRunner diff --git a/PerformanceTests/resources/jquery.tablesorter.min.js b/PerformanceTests/resources/jquery.tablesorter.min.js new file mode 100644 index 0000000..b8605df --- /dev/null +++ b/PerformanceTests/resources/jquery.tablesorter.min.js @@ -0,0 +1,4 @@ + +(function($){$.extend({tablesorter:new +function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",cssChildRow:"expand-child",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,sortLocaleCompare:true,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'/\.|\,/g',onRenderHeader:null,selectorHeaders:'thead th',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}if(table.tBodies.length==0)return;var rows=table.tBodies[0].rows;if(rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function checkHeaderOptionsSortingLocked(table,i){if((table.config.headers[i])&&(table.config.headers[i].lockedOrder))return table.config.headers[i].lockedOrder;return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;i b["+i+"]) ? 1 : 0));";};function makeSortTextDesc(i){return"((b["+i+"] < a["+i+"]) ? -1 : ((b["+i+"] > a["+i+"]) ? 1 : 0));";};function makeSortNumeric(i){return"a["+i+"]-b["+i+"];";};function makeSortNumericDesc(i){return"b["+i+"]-a["+i+"];";};function sortText(a,b){if(table.config.sortLocaleCompare)return a.localeCompare(b);return((ab)?1:0));};function sortTextDesc(a,b){if(table.config.sortLocaleCompare)return b.localeCompare(a);return((ba)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$.data(this,"tablesorter",config);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){$this.trigger("sortStart");var $cell=$(this);var i=this.column;this.order=this.count++%2;if(this.lockedOrder)this.order=this.lockedOrder;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i + + -
+
+Result TimeMemory +Reference +
+
+