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 --- loop.py | 37 ------------------------------------- src/loop.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 37 deletions(-) delete mode 100644 loop.py create mode 100644 src/loop.py diff --git a/loop.py b/loop.py deleted file mode 100644 index 3f7120f..0000000 --- a/loop.py +++ /dev/null @@ -1,37 +0,0 @@ -import multiprocessing - -from 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) - -loop = Benchmark_Loop() 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