]> git.ipfire.org Git - thirdparty/kmod.git/commitdiff
scripts/parse-timing: Make cutoff optional
authorLucas De Marchi <lucas.demarchi@intel.com>
Fri, 16 Aug 2013 02:09:37 +0000 (23:09 -0300)
committerLucas De Marchi <lucas.demarchi@intel.com>
Fri, 20 Sep 2013 19:35:52 +0000 (14:35 -0500)
scripts/parse-timing
scripts/run-hashfunc.sh [moved from scripts/run.sh with 74% similarity]

index 6676c6bbaf5f21c870548c1e8a039e6cbc219486..6090e75f7e6d8aad52e8bcdced9605fca488a4b5 100755 (executable)
@@ -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]))
similarity index 74%
rename from scripts/run.sh
rename to scripts/run-hashfunc.sh
index 504c6a653494e540dfb632bede3b7d16bf11f766..89451a28c54db6a43efea96337734aa3ec84cdee 100755 (executable)
@@ -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}.*