From 183795e6a9370fb06002574a3cc413cb475601e8 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Tue, 15 Jan 2019 16:09:24 +0100 Subject: move loop.py to src/ and add cache miss plot and best matrix --- src/loop.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/loop.py (limited to 'src') diff --git a/src/loop.py b/src/loop.py new file mode 100644 index 0000000..9590710 --- /dev/null +++ b/src/loop.py @@ -0,0 +1,48 @@ +import multiprocessing + +from src.benchmark import Benchmark + +class Benchmark_Loop( Benchmark ): + def __init__(self): + self.name = "loop" + self.descrition = """This benchmark makes n allocations in t concurrent threads. + How allocations are freed can be changed with the benchmark + version""", + + self.cmd = "build/bench_loop{binary_suffix} {nthreads} 1000000 {maxsize}" + + self.args = { + "maxsize" : [2 ** x for x in range(6, 16)], + "nthreads" : range(1, multiprocessing.cpu_count() * 2 + 1) + } + + self.requirements = ["build/bench_loop"] + super().__init__() + + def summary(self, sumdir): + # Speed + self.plot_fixed_arg("perm.nthreads / (float({task-clock})/1000)", + ylabel = '"MOPS/cpu-second"', + title = '"Loop: " + arg + " " + str(arg_value)', + filepostfix="time", + sumdir=sumdir) + + # Memusage + self.plot_fixed_arg("int({VmHWM})", + ylabel='"VmHWM in kB"', + title= '"Loop Memusage: " + arg + " " + str(arg_value)', + filepostfix="memusage", + sumdir=sumdir) + + self.plot_fixed_arg("({L1-dcache-load-misses}/{L1-dcache-loads})*100", + ylabel='"L1 misses in %"', + title= '"Loop l1 cache misses: " + arg + " " + str(arg_value)', + filepostfix="l1misses", + sumdir=sumdir) + + # Speed Matrix + self.write_best_doublearg_tex_table("perm.nthreads / (float({task-clock})/1000)", + filepostfix="memusage.matrix", + sumdir=sumdir) + +loop = Benchmark_Loop() -- cgit v1.2.3