summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLucas De Marchi <lucas.demarchi@intel.com>2013-08-15 23:09:37 -0300
committerLucas De Marchi <lucas.demarchi@intel.com>2013-09-20 14:35:52 -0500
commit623478dba53b879a084ff46509963ab0b06c5c36 (patch)
tree10498f716eeb9a470e44cc96f53b21545e168c7b
parent15fe2128f8bded2f8b8db4d1274597fee1ef9f74 (diff)
downloadkmod-623478dba53b879a084ff46509963ab0b06c5c36.tar.gz
scripts/parse-timing: Make cutoff optional
-rwxr-xr-xscripts/parse-timing26
-rwxr-xr-xscripts/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}.*