diff options
| author | Florian Fischer <muhq@muhq.space> | 2019-03-19 01:23:09 +0100 |
|---|---|---|
| committer | Florian Fischer <muhq@muhq.space> | 2019-03-19 01:28:09 +0100 |
| commit | 6a865bd9ff9f73813fc6a04ecba6941f44fdc41b (patch) | |
| tree | 51e579eb076d24c560f9762e7346676c3ab5a4b6 | |
| parent | d17c54652adf797ad779c1d28debdb8cc8ead228 (diff) | |
| download | allocbench-6a865bd9ff9f73813fc6a04ecba6941f44fdc41b.tar.gz allocbench-6a865bd9ff9f73813fc6a04ecba6941f44fdc41b.zip | |
add scale arg to plot_single_arg
| -rw-r--r-- | src/benchmark.py | 33 |
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"]) |
