summaryrefslogtreecommitdiff
path: root/util/stats
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2005-01-18 13:25:55 -0500
committerAli Saidi <saidi@eecs.umich.edu>2005-01-18 13:25:55 -0500
commit24bfd5ef01039acc344ee623851eb98eec5744fc (patch)
treeffe11b9170660211b64cd5944a01ae7deb5663f1 /util/stats
parentc9fa82e25f2d86f2e26d357fac669c18899e39f8 (diff)
downloadgem5-24bfd5ef01039acc344ee623851eb98eec5744fc.tar.xz
finished stability stats option
--HG-- extra : convert_revision : 3ad0a143f79b116c5b18321846653d627429882a
Diffstat (limited to 'util/stats')
-rwxr-xr-xutil/stats/stats.py29
1 files changed, 22 insertions, 7 deletions
diff --git a/util/stats/stats.py b/util/stats/stats.py
index 7f3761a92..60c3d8a53 100755
--- a/util/stats/stats.py
+++ b/util/stats/stats.py
@@ -255,28 +255,43 @@ def commands(options, command, args):
#loop through all the stats selected
for stat in stats:
- avg = float(stat)
+ print "%s:" % stat.name
+ print "%-30s %12s %12s %4s %5s %6s" % \
+ ("run name", "average", "stdev", ">10%", ">1SDV", "SAMP")
+ print "%-30s %12s %12s %4s %5s %6s" % \
+ ("------------------------------", "------------", "------------", "----", "-----", "------")
#loop through all the selected runs
for run in runs:
info.display_run = run.run;
- #print run.name
- #print avg
runTicks = info.source.retTicks([ run ])
#throw away the first one, it's 0
runTicks.pop(0)
+ stat.ticks = runTicks
+ avg = float(stat)
+ stdev = 0
+ numoutsideavg = 0
#loop through all the various ticks for each run
for tick in runTicks:
stat.ticks = str(tick)
val = float(stat)
if (val < (avg * .9)) or (val > (avg * 1.1)):
- print '%s:%s is %f, which is more than 10%% of the'\
- 'mean %f' % (run.name, stat.name, stat, avg)
-
-
+ numoutsideavg += 1
+ stdev += pow((val-avg),2)
+ stdev = pow(stdev / len(runTicks), 0.5)
+ numoutsidestd = 0
+ for tick in runTicks:
+ stat.ticks = str(tick)
+ val = float(stat)
+ if (val < (avg - stdev)) or (val > (avg + stdev)):
+ numoutsidestd += 1
+ print "%-30s %12s %12s %4s %5s %6s" % \
+ (run.name, "%.1f" % avg, "%.1f" % stdev,
+ "%d" % numoutsideavg, "%d" % numoutsidestd,
+ "%d" % len(runTicks))
return