diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/loop.py | 48 |
1 files changed, 48 insertions, 0 deletions
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() |
