From 1544ece408128d205dd4eb469cf3b73f5b622f2f Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Thu, 24 Feb 2011 19:53:15 -0500 Subject: add little helper script to combine results on topsail --- assemble_files.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100755 assemble_files.py (limited to 'assemble_files.py') diff --git a/assemble_files.py b/assemble_files.py new file mode 100755 index 0000000..f4be48f --- /dev/null +++ b/assemble_files.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +import sys + +from plot import decode +from os.path import splitext, basename + +from glob import glob +from collections import defaultdict + +#G-EDF/testpoint_ucap=13.75_wss=1792_dist=exp-10-10-100_deadlines=implicit_host=ludwig_scheduler=G-EDF.csv + +def key(fname): + name, ext = splitext(basename(fname)) + conf = decode(name) + if 'quanta' in conf: + q = '_quanta=%s' % conf['quanta'] + else: + q = '' + s = 'scheduler=%s' % conf['scheduler'] + d = 'dist=%s' % conf['dist'] + dl = 'deadlines=%s' % conf['deadlines'] + h = 'host=%s' % conf['host'] + + return '_'.join([d, dl, s, h]) + q + +def assemble_results(dir): + files = glob(dir + '/*.csv') + + parts = defaultdict(list) + + for f in files: + k = key(f) + parts[k].append(f) + + for i, k in enumerate(parts): + comment = 1 + print '[%d/%d] Processing %s' % (i+ 1, len(parts), k) + out = open('sched_%s.csv' % k, 'w') + for f in sorted(parts[k]): + for line in open(f): + if line[0] != '#' or comment: + out.write(line) + if line[0] == '#': + comment -= 1 + out.close() + + + +if __name__ == '__main__': + for d in sys.argv[1:]: + assemble_results(d) + -- cgit v1.2.2