diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2019-08-26 17:21:09 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2019-08-26 18:12:15 +0200 |
| commit | d83888e0dc2bf261f980f1a60688d7a8704add1c (patch) | |
| tree | 5bdcf18f9c2fbb81eb43cddef10fe4b2545e5b96 /scripts | |
| parent | a493bc413f400429fae17c1db71b39a5b70fc222 (diff) | |
| download | allocbench-d83888e0dc2bf261f980f1a60688d7a8704add1c.tar.gz allocbench-d83888e0dc2bf261f980f1a60688d7a8704add1c.zip | |
improve bench_sum
Use allocators in set only if they are in the benchmark results.
Don't colorize alloactors because bench.py does this already.
Don't add or remove bumpptr allocator.
Improve output.
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/bench_sum.py | 60 |
1 files changed, 24 insertions, 36 deletions
diff --git a/scripts/bench_sum.py b/scripts/bench_sum.py index 7469052..e34ccad 100755 --- a/scripts/bench_sum.py +++ b/scripts/bench_sum.py @@ -13,56 +13,42 @@ sys.path.insert(0,parentdir) import src.globalvars -def specific_summary(bench, set_name, allocators): - os.mkdir(set_name) - os.chdir(set_name) +sets = {"glibcs": ["glibc", "glibc-noThreadCache", "glibc-noFalsesharing", + "glibc-noFalsesharingClever"], + "tcmalloc": ["TCMalloc", "TCMalloc-NoFalsesharing"], + "nofs": ["glibc", "glibc-noFalsesharing", "glibc-noFalsesharingClever", + "TCMalloc", "TCMalloc-NoFalsesharing"], + "ba" : ["glibc", "TCMalloc", "jemalloc", "Hoard"], + "industry" : ["glibc", "llalloc", "TCMalloc", "jemalloc", "tbbmalloc", "mimalloc"], + "research" : ["scalloc", "SuperMalloc", "Mesh", "Hoard", "snmalloc"]} - if bench.name == "loop": - allocators["bumpptr"] = {"color": "C9"} +def specific_summary(bench, allocators): old_allocs = bench.results["allocators"] + new_allocs = {k: v for k, v in old_allocs.items() if k in allocators} - if bench.name == "mysql" and "Hoard" in allocators: - del(allocators["Hoard"]) - bench.results["allocators"] = allocators + bench.results["allocators"] = new_allocs bench.summary() bench.results["allocators"] = old_allocs - if bench.name == "loop": - del(allocators["bumpptr"]) - - - os.chdir("..") def bench_sum(bench, sets): os.makedirs(bench.name) os.chdir(bench.name) + os.mkdir("all") os.chdir("all") bench.summary() os.chdir("..") - for s in sets: - specific_summary(bench, s, sets[s]) - os.chdir("..") -sets = {"glibcs": ["glibc", "glibc-noThreadCache", "glibc-noFalsesharing", - "glibc-noFalsesharingClever"], - "tcmalloc": ["TCMalloc", "TCMalloc-NoFalsesharing"], - "nofs": ["glibc", "glibc-noFalsesharing", "glibc-noFalsesharingClever", - "TCMalloc", "TCMalloc-NoFalsesharing"], - "ba" : ["glibc", "TCMalloc", "jemalloc", "Hoard"], - "industry" : ["glibc", "llalloc", "TCMalloc", "jemalloc", "tbbmalloc", "mimalloc"], - "science" : ["scalloc", "SuperMalloc", "Mesh", "Hoard"]} + for s in sets: + os.mkdir(s) + os.chdir(s) + specific_summary(bench, sets[s]) + os.chdir("..") -# colorize allocs -new_sets = {} -for s in sets: - new_allocs = {} - for i, a in enumerate(sets[s]): - new_allocs[a] = {"color": "C"+str(i)} - new_sets[s] = new_allocs + os.chdir("..") -sets = new_sets parser = argparse.ArgumentParser(description="Summarize allocbench results in allocator sets") parser.add_argument("results", help="path to results", type=str) @@ -77,7 +63,6 @@ def main(): with open("facts.save", "rb") as f: src.globalvars.facts = pickle.load(f) - print(src.globalvars.facts) for b in src.globalvars.benchmarks: if args.benchmarks and not b in args.benchmarks: continue @@ -86,15 +71,18 @@ def main(): bench = eval("importlib.import_module('src.benchmarks.{0}').{0}".format(b)) try: + print(f"{bench.name} ...", end="", flush=True) bench.load() except FileNotFoundError as e: - print(bench.name, "No data available") + print(" No data available") continue - + try: bench_sum(bench, sets) except FileExistsError as e: - print(e) + print(e, end="") + + print() if __name__ == "__main__": |
