Author: David Schneider <david.schnei...@picle.org> Branch: extradoc Changeset: r4475:c89413a62517 Date: 2012-08-08 17:38 +0200 http://bitbucket.org/pypy/extradoc/changeset/c89413a62517/
Log: (cfbolz, bivab) tool for guard failure calculations diff --git a/talk/vmil2012/tool/guard_count.py b/talk/vmil2012/tool/guard_count.py new file mode 100644 --- /dev/null +++ b/talk/vmil2012/tool/guard_count.py @@ -0,0 +1,44 @@ +import json +import csv +MISSING=1e-30 +with file("logs/guard_summary.json") as f: + data = json.load(f) +with file("logs/resume_summary.csv") as f: + reader = csv.DictReader(f, delimiter=',') + csv_data = dict([(l['bench'], l) for l in reader]) + + +rows = [] +max_guardcount = 0 +for bench, d in data.iteritems(): + failures = sorted(d['results'].values()) + total_failures = float(sum(failures)) + normed_failures = [f/total_failures for f in failures] + guardcount = int(csv_data[bench]['number of guards']) + normed_failures.reverse() + normed_failures += [MISSING] * (guardcount - len(failures)) + # marker to see where it ends + normed_failures += [1] + rows.append(normed_failures) + max_guardcount = max(guardcount, max_guardcount) + +nbenchs = len(rows) + + + +with file("logs/guard_failures.csv", "w") as out: + writer = csv.writer(out) + res = [] + for k in data.keys(): + res += [k,k] + writer.writerow(res) + + for i in range(max_guardcount): + res = [] + for row in rows: + if i < len(row): + res.append(i/float(len(row))) + res.append(row[i]) + else: + row += [MISSING,MISSING] + writer.writerow(res) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit