diff options
author | Lucas De Marchi <lucas.demarchi@intel.com> | 2013-08-15 23:09:37 -0300 |
---|---|---|
committer | Lucas De Marchi <lucas.demarchi@intel.com> | 2013-09-20 14:35:52 -0500 |
commit | 623478dba53b879a084ff46509963ab0b06c5c36 (patch) | |
tree | 10498f716eeb9a470e44cc96f53b21545e168c7b | |
parent | 15fe2128f8bded2f8b8db4d1274597fee1ef9f74 (diff) | |
download | kmod-623478dba53b879a084ff46509963ab0b06c5c36.tar.gz |
scripts/parse-timing: Make cutoff optional
-rwxr-xr-x | scripts/parse-timing | 26 | ||||
-rwxr-xr-x | scripts/run-hashfunc.sh (renamed from scripts/run.sh) | 4 |
2 files changed, 21 insertions, 9 deletions
diff --git a/scripts/parse-timing b/scripts/parse-timing index 6676c6b..6090e75 100755 --- a/scripts/parse-timing +++ b/scripts/parse-timing @@ -2,11 +2,13 @@ import sys import numpy as np - -CUTOFF = 0.8 +import argparse def trimvalues(values, cutoff): + if not cutoff: + return values + sv = sorted(values) n = round(len(values) * cutoff) @@ -21,7 +23,7 @@ def trimvalues(values, cutoff): return sv[i:n + i] -def parse_file(f): +def parse_file(f, cutoff): val = dict() while True: line = f.readline().split() @@ -40,7 +42,7 @@ def parse_file(f): s = [] n = [] for k, v in sorted(val.items()): - v = trimvalues(v, CUTOFF) + v = trimvalues(v, cutoff) x += [k] y += [np.mean(v)] s += [np.std(v)] @@ -48,15 +50,23 @@ def parse_file(f): return x, y, s, n -print("# cutoff: %.2f" % CUTOFF) + +parser = argparse.ArgumentParser(description='Parse timings') +parser.add_argument('--cutoff', '-c', type=float, default=0) +parser.add_argument('file', nargs='?') +args = parser.parse_args() + +if args.cutoff: + print("# cutoff: %.2f" % args.cutoff) + print("# len mean stddev nelemen") -if len(sys.argv) > 1: - filename = sys.argv[1] +if args.file: + filename = args.file else: filename = "/dev/stdin" with open(filename) as f: - x, y, s, n = parse_file(f) + x, y, s, n = parse_file(f, args.cutoff) for i in zip(x, y, s, n): print("%d %.2f %.2f %d" % (i[0], i[1], i[2], i[3])) diff --git a/scripts/run.sh b/scripts/run-hashfunc.sh index 504c6a6..89451a2 100755 --- a/scripts/run.sh +++ b/scripts/run-hashfunc.sh @@ -5,12 +5,14 @@ log="$1" for ((i=0; i < 10;)) do err=${log}.${i}.stderr + echo "running #$i" sudo chrt -f 99 /usr/bin/time -f \ "\n***\ntime: %E\ncontext switches: %c\nwaits: %w" \ tools/depmod -a > ${log}.$i 2>$err [[ ! -z "$(grep 'context switches: 0' $err)" ]] && ((i++)) done +echo "consolidating in $log" rm ${log}.0* -cat "$log".* | scripts/parse-timing > $log +cat "$log".* | scripts/parse-timing --cutoff 0.8 > $log rm ${log}.* |