From 05b8e3e6dcb12df1e6897bbfc6ace6d5e6740c06 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Wed, 15 May 2019 21:27:05 +0200 Subject: add ttest1 from ptmalloc --- src/benchmarks/t_test1.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/benchmarks/t_test1.py (limited to 'src/benchmarks/t_test1.py') 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() -- cgit v1.2.3