aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <muhq@muhq.space>2019-03-19 01:23:09 +0100
committerFlorian Fischer <muhq@muhq.space>2019-03-19 01:28:09 +0100
commit6a865bd9ff9f73813fc6a04ecba6941f44fdc41b (patch)
tree51e579eb076d24c560f9762e7346676c3ab5a4b6
parentd17c54652adf797ad779c1d28debdb8cc8ead228 (diff)
downloadallocbench-6a865bd9ff9f73813fc6a04ecba6941f44fdc41b.tar.gz
allocbench-6a865bd9ff9f73813fc6a04ecba6941f44fdc41b.zip
add scale arg to plot_single_arg
-rw-r--r--src/benchmark.py33
1 files changed, 29 insertions, 4 deletions
diff --git a/src/benchmark.py b/src/benchmark.py
index ba8e462..024c5b0 100644
--- a/src/benchmark.py
+++ b/src/benchmark.py
@@ -298,24 +298,49 @@ class Benchmark (object):
def plot_single_arg(self, yval, ylabel="'y-label'", xlabel="'x-label'",
autoticks=True, title="default title", filepostfix="",
- sumdir="", arg=""):
+ sumdir="", arg="", scale=None):
args = self.results["args"]
allocators = self.results["allocators"]
arg = arg or list(args.keys())[0]
- for allocator in allocators:
+ if scale:
+ allocs = [alloc for alloc in allocators if alloc != scale]
+
+ norm_y_vals = []
+ for perm in self.iterate_args(args=args):
+ d = []
+ for m in self.results[scale][perm]:
+ d.append(eval(yval.format(**m)))
+ norm_y_vals.append(np.mean(d))
+
+ if not autoticks:
+ x_vals = list(range(1, len(y_vals) + 1))
+ else:
+ x_vals = args[arg]
+
+ plt.plot(x_vals, [1] * len(norm_y_vals), marker='.', linestyle='-',
+ label=scale, color=allocators[scale]["color"])
+ else:
+ allocs = allocators
+
+ for allocator in allocs:
y_vals = []
for perm in self.iterate_args(args=args):
d = []
- for m in self.results[allocator][perm]:
+ for i, m in enumerate(self.results[allocator][perm]):
d.append(eval(yval.format(**m)))
- y_vals.append(np.mean(d))
+ if scale:
+ y_vals.append(np.mean(d) / norm_y_vals[i])
+ else:
+ y_vals.append(np.mean(d))
+
if not autoticks:
x_vals = list(range(1, len(y_vals) + 1))
else:
x_vals = args[arg]
+
plt.plot(x_vals, y_vals, marker='.', linestyle='-',
label=allocator, color=allocators[allocator]["color"])