From cdfd77af6e6ca5f4352d42573a33d51c09eba5b3 Mon Sep 17 00:00:00 2001 From: Florian Fischer <florian.fl.fischer@fau.de> Date: Mon, 29 Apr 2019 17:12:41 +0200 Subject: [PATCH] move list of available benchmarks to src.globalvars.benchmarks fix analyse --- bench.py | 10 ++++------ src/benchmark.py | 1 - src/globalvars.py | 14 +++++++++++++- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/bench.py b/bench.py index f7a513e..8fe7850 100755 --- a/bench.py +++ b/bench.py @@ -14,10 +14,6 @@ import src.globalvars from src.util import * -bench_dir = "src/benchmarks" -benchmarks = [e[:-3] for e in os.listdir(bench_dir) - if e[-3:] == ".py" and e != "__init__.py"] - parser = argparse.ArgumentParser(description="benchmark memory allocators") parser.add_argument("-ds, --dont-save", action='store_true', dest="dont_save", help="don't save benchmark results in RESULTDIR") @@ -141,7 +137,7 @@ def main(): # TODO load all results at once cwd = os.getcwd() - for bench in benchmarks: + for bench in src.globalvars.benchmarks: if args.benchmarks and not bench in args.benchmarks: continue @@ -170,7 +166,7 @@ def main(): old_allocs = bench.allocators # use malt as allocator - src.globalvars.allocators = {"malt": {"cmd_prefix" : malt_cmd, + bench.allocators = {"malt": {"cmd_prefix" : malt_cmd, "binary_suffix" : "", "LD_PRELOAD" : ""}} try: @@ -189,6 +185,8 @@ def main(): else: print_error("malt not found. Skipping analyse.") + if args.runs > 1: + print_status("Running", bench.name, "...") bench.run(runs=args.runs) if need_resultdir: diff --git a/src/benchmark.py b/src/benchmark.py index f904c7a..4b1ae7f 100644 --- a/src/benchmark.py +++ b/src/benchmark.py @@ -172,7 +172,6 @@ class Benchmark (object): if runs < 1: return - print_status("Running", self.name, "...") # check if perf is allowed on this system if self.measure_cmd == self.defaults["measure_cmd"]: if Benchmark.perf_allowed == None: diff --git a/src/globalvars.py b/src/globalvars.py index c897786..7bf3de7 100644 --- a/src/globalvars.py +++ b/src/globalvars.py @@ -1,3 +1,4 @@ +import inspect import os @@ -13,8 +14,19 @@ allocators = {} """File were the allocators definitions are loaded from""" allocators_file = None +"""Root directory of allocbench""" +allocbenchdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) +allocbenchdir = os.path.dirname(allocbenchdir) + """Path of the build directory""" -builddir = os.path.join(os.getcwd(), "build") +builddir = "build" """Directory were the benchmark results are stored""" resdir = None + +"""Source directory for all benchmarks""" +benchsrcdir = "src/benchmarks" + +"""List of available benchmarks""" +benchmarks = [e[:-3] for e in os.listdir(os.path.join(allocbenchdir, benchsrcdir)) + if e[-3:] == ".py" and e != "__init__.py"] -- GitLab