diff options
| -rwxr-xr-x | bench.py | 8 | ||||
| -rw-r--r-- | src/benchmarks/dj_trace.py | 9 | ||||
| -rw-r--r-- | src/benchmarks/lld.py | 4 | ||||
| -rw-r--r-- | src/benchmarks/redis.py | 9 |
4 files changed, 12 insertions, 18 deletions
@@ -159,7 +159,13 @@ def main(): bench = getattr(bench_module, bench) print_status("Preparing", bench.name, "...") - bench.prepare() + try: + bench.prepare() + except Exception: + print_error(traceback.format_exc()) + print_error(f"Skipping {bench}! Preparing failed.") + continue + if args.analyze: print_status("Analysing {} ...".format(bench)) diff --git a/src/benchmarks/dj_trace.py b/src/benchmarks/dj_trace.py index e74df64..a4433ae 100644 --- a/src/benchmarks/dj_trace.py +++ b/src/benchmarks/dj_trace.py @@ -69,6 +69,7 @@ class BenchmarkDJTrace(Benchmark): "qemu-win7", "proprietary-1", "proprietary-2"]} + self.results = {"389-ds-2": { "malloc": 170500018, "calloc": 161787184, "realloc": 404134, "free": 314856324, @@ -112,7 +113,7 @@ class BenchmarkDJTrace(Benchmark): if not os.path.isfile(workload_archive): choice = input("Download missing workloads (367M / ~6GB unpacked) [Y/n] ") if not choice in ['', 'Y', 'y']: - return False + return url = f"https://www4.cs.fau.de/~flow/allocbench/{workload_archive}" urlretrieve(url, workload_archive, download_reporthook) @@ -126,10 +127,8 @@ class BenchmarkDJTrace(Benchmark): if proc.returncode == 0: os.remove(workload_archive) - self.args["workload"] = os.listdir(workload_) - - return True - + for workload in os.listdir(workload_dir): + self.args["workload"].append(os.path.splitext(workload)[0]) @staticmethod def process_output(result, stdout, stderr, allocator, perm): diff --git a/src/benchmarks/lld.py b/src/benchmarks/lld.py index 97ef545..7ebca13 100644 --- a/src/benchmarks/lld.py +++ b/src/benchmarks/lld.py @@ -61,7 +61,7 @@ class BenchmarkLld(Benchmark): if not os.path.isfile(test_archive): choice = input("Download missing test archive (1.1GB) [Y/n/x] ") if not choice in ['', 'Y', 'y']: - return False + return url = f"https://s3-us-west-2.amazonaws.com/linker-tests/{test_archive}" urlretrieve(url, test_archive, download_reporthook) @@ -77,8 +77,6 @@ class BenchmarkLld(Benchmark): self.args["test"] = os.listdir(test_dir) - return True - def cleanup(self): for perm in self.iterate_args(): diff --git a/src/benchmarks/redis.py b/src/benchmarks/redis.py index 0afddba..d67559a 100644 --- a/src/benchmarks/redis.py +++ b/src/benchmarks/redis.py @@ -74,27 +74,18 @@ class BenchmarkRedis(Benchmark): # delete archive if proc.returncode == 0: os.remove(redis_archive) - else: - return False # building redis proc = subprocess.run(["make", "-C", redis_dir], # stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) - if proc.returncode != 0: - return False - - # create symlinks for exe in ["redis-cli", "redis-server", "redis-benchmark"]: src = os.path.join(redis_dir, "src", exe) dest = os.path.join(self.build_dir, exe) os.link(src, dest) - return True - - @staticmethod def process_output(result, stdout, stderr, allocator, perm): result["requests"] = REQUESTS_RE.search(stdout).group("requests") |
