diff options
author | jasplin <qt-info@nokia.com> | 2011-01-27 16:09:05 +0100 |
---|---|---|
committer | jasplin <qt-info@nokia.com> | 2011-01-27 16:09:05 +0100 |
commit | 578b4a99415721d39ba280ae3611c3be3885864f (patch) | |
tree | e155de1af50bd621999946b730b3ac394094c310 | |
parent | 052a1fe8b6fb6556fd3bc74847b9b48f81ef0458 (diff) |
Use QS in finalizeresults.py script.
-rwxr-xr-x | scripts/finalizeresults.py | 41 | ||||
-rw-r--r-- | web/getstats/global.js | 4 | ||||
-rw-r--r-- | web/getstats/tsbmbody.js | 9 | ||||
-rw-r--r-- | web/getstats/tsstats.js | 2 |
4 files changed, 33 insertions, 23 deletions
diff --git a/scripts/finalizeresults.py b/scripts/finalizeresults.py index ae78371..1ba53f2 100755 --- a/scripts/finalizeresults.py +++ b/scripts/finalizeresults.py @@ -113,11 +113,32 @@ sys.stdout.write("\n") # *** Compute rankings ************************************************** +# ### 2 B DOCUMENTED! +# NOTE: This function is currently duplicated elsewhere in JavaScipt! def changeMagnitudeScore(change): max_change = 2.0 abs_change = (1.0 / change) if change < 1 else change return (min(abs_change, max_change) - 1.0) / (max_change - 1.0) +# ### 2 B DOCUMENTED! +# NOTE: This function is currently duplicated elsewhere in JavaScript! +def qualityScore(lsd, ni, nz, nc, mdrse): + max_bad_snapshots = 30 # experimental; maybe use max durability score? + max_sample_size = 5; + max_LSD = max_ad_napshots; + max_NI = max_bad_snapshots * max_sample_size; + max_NZ = max_bad_snapshots * max_sample_size; + max_NC = max_bad_snapshots; + + lsd_score = Math.min(1, lsd / float(max_LSD)); + ni_score = Math.min(1, ni / float(max_NI)); + var nz_score = Math.min(1, nz / float(max_NZ)); + var nc_score = Math.min(1, nc / float(max_NC)); + var mdrse_score = mdrse / 100.0; + + return (lsd_score + ni_score + nz_score + nc_score + mdrse_score) / 5.0; +} + sys.stdout.write("creating table for all ranking stats ... ") sys.stdout.flush() @@ -143,6 +164,8 @@ for stats in bmstats_list: mdrse = stats["med_of_rses"] rsemd = stats["rse_of_meds"] + qs = qualityScore(lsd, ni, nz, nc, mdrse) + lc = stats["lc"] if lc >= 0.0: lcgss = stats["lc_gsep_score"] @@ -163,9 +186,7 @@ for stats in bmstats_list: else: lcssr = lcssi = lcss1r = lcss1i = -1 - table.append(( - benchmark_id, metric_id, lsd, ni, nz, nc, mdrse, rsemd, - lcssr, lcssi, lcss1r, lcss1i)) + table.append((benchmark_id, metric_id, qs, lcssr, lcssi, lcss1r, lcss1i)) sys.stdout.write("done\n") sys.stdout.flush() @@ -227,19 +248,7 @@ def registerRanking( execQuery(query, False) -nameToIndex = { - "LSD": 2, - "NI": 3, - "NZ": 4, - "NC": 5, - "MDRSE": 6, - "RSEMD": 7, - "LCSSR": 8, - "LCSSI": 9, - "LCSS1R": 10, - "LCSS1I": 11 -} - +nameToIndex = { "QS": 2, "LCSSR": 3, "LCSSI": 4, "LCSS1R": 5, "LCSS1I": 6 } for name in nameToIndex: sys.stdout.write("registering ranking for " + name + " ...\r") sys.stdout.flush() diff --git a/web/getstats/global.js b/web/getstats/global.js index 733fdd1..38209ef 100644 --- a/web/getstats/global.js +++ b/web/getstats/global.js @@ -59,6 +59,7 @@ function isNonNullNumber(x) { } // ### 2 B DOCUMENTED! +// NOTE: This function is currently duplicated elsewhere in Python! function changeMagnitudeScore(change) { var maxChange = 2.0; var absChange = (change < 1.0) ? (1.0 / change) : change; @@ -66,7 +67,8 @@ function changeMagnitudeScore(change) { } // ### 2 B DOCUMENTED! -function normalizedQuality(lsd, ni, nz, nc, mdrse) { +// NOTE: This function is currently duplicated elsewhere in Python! +function qualityScore(lsd, ni, nz, nc, mdrse) { var maxBadSnapshots = 30; // experimental; maybe use max durability score? var maxSampleSize = 5; var maxLSD = maxBadSnapshots; diff --git a/web/getstats/tsbmbody.js b/web/getstats/tsbmbody.js index 4a90c4c..cdec563 100644 --- a/web/getstats/tsbmbody.js +++ b/web/getstats/tsbmbody.js @@ -69,10 +69,9 @@ function tooltipText_rsemd() { function tooltipText_qs() { return "Quality score for the benchmark:<br /><br />" + " " + - "nq(LSD, NI, NZ, NC, MDRSE),<br /><br />" + - "where nq() computes the \"normalized quality\", i.e. a number " + - "between 0 and 1.<br /><br />" + - "The higher this score, the worse the quality of the benchmark."; + "qs(LSD, NI, NZ, NC, MDRSE),<br /><br />" + + "where qs() computes the quality score as a number " + + "between 0 (good quality) and 1 (poor quality)."; } function tooltipText_lc() { @@ -1152,7 +1151,7 @@ function fetchTimeSeries( nc = data.nc; mdrse = data.med_of_rses; rsemd = data.rse_of_meds; - qs = normalizedQuality(lsd, ni, nz, nc, mdrse); + qs = qualityScore(lsd, ni, nz, nc, mdrse); if (nc > 0) { lc = data.lc; var currTime = dateToTimestamp(currDate); diff --git a/web/getstats/tsstats.js b/web/getstats/tsstats.js index 368cf14..af847bd 100644 --- a/web/getstats/tsstats.js +++ b/web/getstats/tsstats.js @@ -121,7 +121,7 @@ function populatePbmTable(tableSel, data) { rbdy += "<td></td>"; } - qs = normalizedQuality(lsd, ni, nz, nc, mdrse); + qs = qualityScore(lsd, ni, nz, nc, mdrse); rbdy += "<td>" + qs.toFixed(4) + "</td>"; if (nc > 0) { |