feat(tests/playground/report): reimplement normalizing by first column

This commit is contained in:
Sebastian Ullrich 2019-05-24 19:01:23 +02:00
parent 4eab0528bc
commit 9d7875ca05

View file

@ -10,16 +10,20 @@ import temci.utils.library_init
from temci.report import stats, rundata
from temci.utils import number, settings
def pp(bench, cat, prop):
def single(bench, cat, prop):
f = f"bench/{bench}{cat}.bench"
if not open(f).read():
return "-"
with open(f, "r") as f:
runs = yaml.load(f)
stats_helper = rundata.RunDataStatsHelper.init_from_dicts(runs)
stat = stats.TestedPairsAndSingles(stats_helper.valid_runs())
n = stat.singles[0].properties[prop]
return number.fnumber(n.mean(), abs_deviation=n.std_dev())
return stat.singles[0].properties[prop]
def pp(bench, cat, prop, norm):
f = f"bench/{bench}{cat}.bench"
if not open(f).read():
return "-"
s = single(bench, cat, prop)
return number.fnumber(s.mean() / norm, abs_deviation=s.std_dev() / norm)
CATBAG = {
'.lean': ("Lean [s]", "etime"),
@ -47,4 +51,5 @@ cats = os.environ['CATS'].split(':')
print(";".join(["Benchmark"] + [CATBAG[cat][0] for cat in cats]))
for bench in benches:
print(";".join([bench] + [pp(bench, cat, CATBAG[cat][1]) for cat in cats]))
norm = single(bench, '.lean', 'etime').mean()
print(";".join([bench] + [pp(bench, cat, CATBAG[cat][1], norm) for cat in cats]))