diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2019-04-02 12:02:24 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2019-04-02 12:02:24 +0200 |
| commit | 3f0225c2dffc2c5cf6887cb93f44cf8a1dd888c3 (patch) | |
| tree | 15347c1d827ba16709ffa118fe1d3fd09e0c4c2b /src/benchmarks/realloc.py | |
| parent | 5bcc88fb9131884edd545af1f085c043cf34166a (diff) | |
| download | allocbench-3f0225c2dffc2c5cf6887cb93f44cf8a1dd888c3.tar.gz allocbench-3f0225c2dffc2c5cf6887cb93f44cf8a1dd888c3.zip | |
add real simple realloc benchmark
Diffstat (limited to 'src/benchmarks/realloc.py')
| -rw-r--r-- | src/benchmarks/realloc.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/benchmarks/realloc.py b/src/benchmarks/realloc.py new file mode 100644 index 0000000..d39c7a0 --- /dev/null +++ b/src/benchmarks/realloc.py @@ -0,0 +1,39 @@ +import matplotlib.pyplot as plt + +from src.benchmark import Benchmark + + +class Benchmark_Realloc(Benchmark): + def __init__(self): + self.name = "realloc" + self.descrition = """Realloc 100 times""" + + self.cmd = "realloc" + + self.args = {"oneshot": [1]} + + self.requirements = ["realloc"] + super().__init__() + + def summary(self): + # bar plot + allocators = self.results["allocators"] + + for i, allocator in enumerate(allocators): + y_vals = [] + for perm in self.iterate_args(args=self.results["args"]): + y_vals.append(self.results["mean"][allocator][perm]["task-clock"]) + x_vals = [i * x for x in range(1, len(y_vals) + 1)] + plt.bar(x_vals, y_vals, width=0.7, label=allocator, align="center", + color=allocators[allocator]["color"]) + + plt.legend() + plt.ylabel("task-clock in ms") + plt.title("realloc micro bench") + plt.savefig(self.name + ".png") + plt.clf() + + self.export_to_csv(datapoints=["task-clock"]) + + +realloc = Benchmark_Realloc() |
