diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2018-08-20 00:00:24 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2018-08-20 00:00:24 +0200 |
| commit | 01cdcd79da31f8f390e29eabd062bcbf57ff838d (patch) | |
| tree | d0f5545925598881190a6476b6ff6614a8abf397 | |
| parent | bbaf5dab2bbc060332d18c663e1c404d1d0e0e2e (diff) | |
| download | allocbench-01cdcd79da31f8f390e29eabd062bcbf57ff838d.tar.gz allocbench-01cdcd79da31f8f390e29eabd062bcbf57ff838d.zip | |
add summary directory option
| -rwxr-xr-x | bench.py | 5 | ||||
| -rw-r--r-- | falsesharing.py | 6 | ||||
| -rw-r--r-- | mysql.py | 8 |
3 files changed, 14 insertions, 5 deletions
@@ -1,6 +1,7 @@ #!/usr/bin/env python3 import argparse +import os import common_targets @@ -16,6 +17,7 @@ parser.add_argument("-r", "--runs", help="how often the benchmarks run", default parser.add_argument("-v", "--verbose", help="more output", action='store_true') parser.add_argument("-b", "--benchmarks", help="benchmarks to run", nargs='+') parser.add_argument("-ns", "--nosum", help="don't produce plots", action='store_true') +parser.add_argument("-sd", "--summarydir", help="directory where all plots and the summary go", type=str) parser.add_argument("-a", "--analyse", help="collect allocation sizes", action='store_true') @@ -25,6 +27,9 @@ def main(): args = parser.parse_args() print (args) + if args.summarydir and not os.path.isdir(args.summarydir): + os.makedirs(args.summarydir) + for bench in benchmarks: if args.benchmarks and not bench.name in args.benchmarks: continue diff --git a/falsesharing.py b/falsesharing.py index b5d7a9f..f42a849 100644 --- a/falsesharing.py +++ b/falsesharing.py @@ -102,11 +102,13 @@ class Benchmark_Falsesharing( Benchmark ): print() return True - def summary(self): + def summary(self, sd=None): # Speedup thrash nthreads = self.results["args"]["nthreads"] targets = self.results["targets"] + sd = sd or "" + y_mapping = {v : i for i, v in enumerate(nthreads)} for bench in ["thrash", "scratch"]: for target in targets: @@ -135,7 +137,7 @@ class Benchmark_Falsesharing( Benchmark ): plt.xlabel("threads") plt.ylabel("speedup") plt.title(bench) - plt.savefig(self.name + "." + bench + ".png") + plt.savefig(os.path.join(sd, self.name + "." + bench + ".png")) plt.clf() falsesharing= Benchmark_Falsesharing() @@ -198,12 +198,14 @@ class Benchmark_MYSQL( Benchmark ): return True - def summary(self): + def summary(self, sd=None): # linear plot nthreads = self.results["args"]["nthreads"] targets = self.results["targets"] y_mapping = {v: i for i, v in enumerate(nthreads)} + sd = sd or "" + for target in targets: if target == "chattymalloc": continue @@ -220,7 +222,7 @@ class Benchmark_MYSQL( Benchmark ): plt.xlabel("threads") plt.ylabel("transactions") plt.title("sysbench oltp read only") - plt.savefig(self.name + ".l.ro.png") + plt.savefig(os.path.join(sd,self.name + ".l.ro.png")) plt.clf() # bar plot @@ -246,7 +248,7 @@ class Benchmark_MYSQL( Benchmark ): plt.xticks(range(1, len(nthreads) + 1), nthreads) plt.ylabel("transactions") plt.title("sysbench oltp read only") - plt.savefig(self.name + ".b.ro.png") + plt.savefig(os.path.join(sd, self.name + ".b.ro.png")) plt.clf() for mid, measures in self.results.items(): |
