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 | |
| 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.
| -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__": |
