diff options
Diffstat (limited to 'src/benchmarks/loop.py')
| -rw-r--r-- | src/benchmarks/loop.py | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/benchmarks/loop.py b/src/benchmarks/loop.py new file mode 100644 index 0000000..4683549 --- /dev/null +++ b/src/benchmarks/loop.py @@ -0,0 +1,36 @@ +from src.benchmark import Benchmark + + +class Benchmark_Loop(Benchmark): + def __init__(self): + self.name = "loop" + self.descrition = """This benchmark allocates and frees n blocks in t concurrent + threads.""" + + self.cmd = "loop{binary_suffix} {nthreads} 1000000 {maxsize}" + + self.args = {"maxsize": [2 ** x for x in range(6, 16)], + "nthreads": Benchmark.scale_threads_for_cpus(2)} + + self.requirements = ["loop"] + super().__init__() + + def summary(self): + # Speed + self.plot_fixed_arg("perm.nthreads / ({task-clock}/1000)", + ylabel='"MOPS/cpu-second"', + title='"Loop: " + arg + " " + str(arg_value)', + filepostfix="time") + + # L1 cache misses + 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") + + # Speed Matrix + self.write_best_doublearg_tex_table("perm.nthreads / ({task-clock}/1000)", + filepostfix="memusage.matrix") + + +loop = Benchmark_Loop() |
