aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbench.py8
-rw-r--r--src/benchmarks/dj_trace.py9
-rw-r--r--src/benchmarks/lld.py4
-rw-r--r--src/benchmarks/redis.py9
4 files changed, 12 insertions, 18 deletions
diff --git a/bench.py b/bench.py
index 02e95c7..a20c566 100755
--- a/bench.py
+++ b/bench.py
@@ -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")