aboutsummaryrefslogtreecommitdiff
path: root/src/benchmarks/t_test1.py
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2019-05-15 21:27:05 +0200
committerFlorian Fischer <florian.fl.fischer@fau.de>2019-05-15 21:27:05 +0200
commit05b8e3e6dcb12df1e6897bbfc6ace6d5e6740c06 (patch)
tree0aa57b58f76788584e1ae205d3290df2a42a3fa8 /src/benchmarks/t_test1.py
parent342764869b7cab91a24a998003fbbff032eea25d (diff)
downloadallocbench-05b8e3e6dcb12df1e6897bbfc6ace6d5e6740c06.tar.gz
allocbench-05b8e3e6dcb12df1e6897bbfc6ace6d5e6740c06.zip
add ttest1 from ptmalloc
Diffstat (limited to 'src/benchmarks/t_test1.py')
-rw-r--r--src/benchmarks/t_test1.py53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/benchmarks/t_test1.py b/src/benchmarks/t_test1.py
new file mode 100644
index 0000000..e43a511
--- /dev/null
+++ b/src/benchmarks/t_test1.py
@@ -0,0 +1,53 @@
+from src.allocator import bumpptr
+from src.benchmark import Benchmark
+
+
+class Benchmark_t_test1(Benchmark):
+ def __init__(self):
+ self.name = "t_test1"
+ self.descrition = """This benchmark from ptmalloc2 allocates and frees
+ n bins in t concurrent threads."""
+
+ self.cmd = "t-test1 {nthreads} {nthreads} 1000000 {maxsize}"
+
+ self.args = {"maxsize": [2 ** x for x in range(6, 18)],
+ "nthreads": Benchmark.scale_threads_for_cpus(2)}
+
+ self.requirements = ["t-test1"]
+ super().__init__()
+
+ self.allocators["bumpptr"] = bumpptr.build()
+
+ def summary(self):
+ # mops / per second
+ yval = "perm.nthreads / ({task-clock}/1000)"
+ # Speed
+ self.plot_fixed_arg(yval,
+ ylabel='"Mops / CPU second"',
+ title='"T-Ttest1: " + arg + " " + str(arg_value)',
+ filepostfix="time",
+ autoticks=False)
+
+ scale = list(self.results["allocators"].keys())[0]
+ self.plot_fixed_arg(yval,
+ ylabel='"Mops / CPU second scaled at {}"'.format(scale),
+ title='"T-Test1: " + arg + " " + str(arg_value) + " normalized {}"'.format(scale),
+ filepostfix="time.norm",
+ scale=scale,
+ autoticks=False)
+
+ # L1 cache misses
+ self.plot_fixed_arg("({L1-dcache-load-misses}/{L1-dcache-loads})*100",
+ ylabel='"L1 misses in %"',
+ title='"T-Test1 l1 cache misses: " + arg + " " + str(arg_value)',
+ filepostfix="l1misses",
+ autoticks=False)
+
+ # Speed Matrix
+ self.write_best_doublearg_tex_table(yval,
+ filepostfix="memusage.matrix")
+
+ self.export_to_csv("task-clock")
+
+
+t_test1 = Benchmark_t_test1()