import os, sys, re from collections import defaultdict data = defaultdict(list) currentkey = None for l in sys.stdin.readlines(): l = l.strip() if l.startswith("Raw_rec version"): currentkey = l else: data[currentkey].append(l) f = open("bench.m", "w") i = 1 for k,v in data.iteritems(): print print k d = "" for l in v: l = l.replace("Recorded frames :", "") print l d = d + l.strip() + " " print >> f, "" print >> f, "versions{%d} = '%s';" % (i, k) print >> f, "data{%d} = [ %s];" % (i, d) i += 1 print >> f, """ format short g N = length(data); medians = zeros(1,N); q25 = zeros(1,N); q75 = zeros(1,N); for i = 1:N medians(i) = round(median(data{i})); q25(i) = round(prctile(data{i}, 25)); q75(i) = round(prctile(data{i}, 75)); end [medians,o] = sort(medians); data = data(o); versions = versions(o); q25 = q25(o); q75 = q75(o); disp('') disp('Quartile stats: median (Q1 ... Q3)') for i = 1:N printf('%s:%5d frames (%d ... %d)\\n', versions{i}, medians(i), q25(i), q75(i)) end disp('') P = zeros(N); T = zeros(N); for i = 1:N for j = 1:N [P(i,j), T(i,j)] = t_test_2(data{i}, data{j}); end end P T """ f.close() os.system("octave bench.m")