diff --git a/ci/complexity_measurements/genWebpageData.py b/ci/complexity_measurements/genWebpageData.py index 457ca5ba934edfe6209e2c31cda2ace25a765917..447c5fd12290b5b201884694902d637a9b1ea271 100644 --- a/ci/complexity_measurements/genWebpageData.py +++ b/ci/complexity_measurements/genWebpageData.py @@ -425,6 +425,12 @@ def create_display_strings( displays.append(display) + if which == "wmops_per_op": + assert len(displays) == 4 + # flot.js' "stack: true" depends on the order of data arrays + # reorder here instead of reworking above loop + displays = [displays[0], displays[2], displays[1], displays[3]] + return displays diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index daac766ca0182c46cb22f3f99beef6d1d5c9bd75..48e02c4f9253a095458bb03e20f9b7de94084f7d 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -648,40 +648,91 @@ function WMOPS_perOP() { previousPoint = item.datapoint; $("#tooltip").remove(); - var encData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[0]; - var decData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[1]; + var encData, decData; + var encRefData, decRefData; + var text = ""; - var x = item.datapoint[0]; - var y = item.datapoint[1]; + if (Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.length == 2) { + encData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[0]; + decData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[1]; + + var x = item.datapoint[0]; + var y = item.datapoint[1]; + + var scoreEnc = Math.max(parseFloat(encData.data[x][1]), 0); + var scoreDec = Math.max(parseFloat(decData.data[x][1]), 0); + var scoreCodec = Math.round((scoreEnc + scoreDec) * 100) / 100; + + text += "Mode: " + Graphs_WMOPS_perOP.wmops_worstcase_per_op.runs[x].operatingPoint + "
"; + + text += 'Score: ' + Math.round(y * 100) / 100; + if (graph.direction == -1) + text += " WMOPS"; + if( item.series.id == "worstCaseEnc" ){ + text += " (enc)"; + } + if( item.series.id == "worstCaseDec" ){ + text += " (enc + dec)"; + } + text += "

"; + text += "Worst case enc: " + scoreEnc + " WMOPS
"; + text += "Worst case dec: " + scoreDec + " WMOPS
"; + text += "Worst case codec: " + scoreCodec + " WMOPS

"; + + var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; + text += "Logfile
"; + } + else if (Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays.length == 4) { + encData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[0]; + decData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[2]; - var scoreEnc = parseFloat(encData.data[x][1]); - var scoreDec = parseFloat(decData.data[x][1]); - var scoreCodec = Math.round((scoreEnc + scoreDec) * 100) / 100; + encRefData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[1]; + decRefData = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays[3]; - var text = ""; + var x = item.datapoint[0]; + var y = item.datapoint[1]; - text += "Mode: " + Graphs_WMOPS_perOP.wmops_worstcase_per_op.runs[x].operatingPoint + "
"; - - text += 'Score: ' + Math.round(y * 100) / 100; - if (graph.direction == -1) - text += " WMOPS"; - if( item.series.id == "worstCaseEnc" ){ - text += " (enc)"; - } - if( item.series.id == "worstCaseDec" ){ - text += " (enc + dec)"; - } - text += "

"; - - text += "Worst case enc: " + scoreEnc + " WMOPS
"; - text += "Worst case dec: " + scoreDec + " WMOPS
"; - text += "Worst case codec: " + scoreCodec + " WMOPS

"; + var run = Graphs_WMOPS_perOP.wmops_worstcase_per_op.runs[x]; + var codec = run.codec; + var op = run.operatingPoint; - var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; - text += "Logfile
"; - + var scoreEnc, scoreDec; + + if (codec == "FLT REF") + { + x = (x - 1) / 2; + scoreEnc = Math.max(parseFloat(encRefData.data[x][1]), 0); + scoreDec = Math.max(parseFloat(decRefData.data[x][1]), 0); + } + else if (codec == "BASOP") { + x = x / 2; + scoreEnc = Math.max(parseFloat(encData.data[x][1]), 0); + scoreDec = Math.max(parseFloat(decData.data[x][1]), 0); + } + + var scoreCodec = Math.round((scoreEnc + scoreDec) * 100) / 100; + + text += "Mode: " + op + " - " + codec + "
"; + + text += 'Score: ' + Math.round(y * 100) / 100; + if (graph.direction == -1) + text += " WMOPS"; + if( item.series.id == "worstCaseEnc" ){ + text += " (enc)"; + } + if( item.series.id == "worstCaseDec" ){ + text += " (enc + dec)"; + } + text += "

"; + text += "Worst case enc: " + scoreEnc + " WMOPS
"; + text += "Worst case dec: " + scoreDec + " WMOPS
"; + text += "Worst case codec: " + scoreCodec + " WMOPS

"; + + var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; + text += "Logfile
"; + } showToolTip(item.pageX, item.pageY, text); - + }); } @@ -689,7 +740,19 @@ function WMOPS_perOP() { $(document).ready(function () { // need to get worst case of enc + dec combined, because values are stacked in the graph - var max = get_max_y_val_for_plotting(Graphs_WMOPS.wmops_worstcase.displays, 50); + var displays = Graphs_WMOPS_perOP.wmops_worstcase_per_op.displays; + var encData, decData; + if (displays.length == 2) { + encData = [displays[0]]; + decData = [displays[1]]; + } + else if (displays.length == 4) { + encData = [displays[0], displays[2]]; + decData = [displays[1], displays[3]]; + } + var max_enc = get_max_y_val_for_plotting(encData, 1); + var max_dec = get_max_y_val_for_plotting(decData, 1); + var max = Math.ceil( (max_enc + max_dec ) / 50) * 50; drawGraph($("#wmops_per_op-graph"), Graphs_WMOPS_perOP.wmops_worstcase_per_op, max); });