aboutsummaryrefslogtreecommitdiff
path: root/src/benchmarks/blowup.py
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2020-05-06 16:56:32 +0200
committerFlorian Fischer <florian.fl.fischer@fau.de>2020-06-02 11:18:47 +0200
commit8174a918ea3b7cb216bf7ea98cfdc10661b5c37d (patch)
tree0747ec3ccb9f8d7eeccfac35977fc17855ca3bbb /src/benchmarks/blowup.py
parent8f52e8fc02dd235582f5961941bcd564e9a681cd (diff)
downloadallocbench-8174a918ea3b7cb216bf7ea98cfdc10661b5c37d.tar.gz
allocbench-8174a918ea3b7cb216bf7ea98cfdc10661b5c37d.zip
make the whole project more python idiomatic
* rename src directory to allocbench * make global variable names UPPERCASE * format a lot of code using yapf * use lowercase ld_preload and ld_library_path as Allocator members * name expected Errors 'err' and don't raise a new Exception * disable some pylint messages
Diffstat (limited to 'src/benchmarks/blowup.py')
-rw-r--r--src/benchmarks/blowup.py82
1 files changed, 0 insertions, 82 deletions
diff --git a/src/benchmarks/blowup.py b/src/benchmarks/blowup.py
deleted file mode 100644
index a4e65ea..0000000
--- a/src/benchmarks/blowup.py
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench. If not, see <http://www.gnu.org/licenses/>.
-"""Definition of the blowup micro benchmark"""
-
-from src.benchmark import Benchmark
-import src.plots as plt
-
-
-class BenchmarkBlowup(Benchmark):
- """Blowup micro benchmark
-
- Check if allocators reuse memory.
- Thread behaviour:
- 1. Do many allocations and frees (100MiB is the maximum of live allocations at all times)
- 2. Start new thread
- 3. Join new thread
- A perfect reusing allocator would need 100MiB RSS and a non reusing allocator
- would need 1GiB.
- """
- def __init__(self):
- name = "blowup"
-
- self.cmd = "blowup"
-
- self.requirements = ["blowup"]
- super().__init__(name)
-
- def summary(self):
- # hack ideal rss in data set
- allocators = self.results["allocators"]
- allocators["Ideal-RSS"] = {"color": "xkcd:gold"}
- self.results["stats"]["Ideal-RSS"] = {}
- for perm in self.iterate_args(args=self.results["args"]):
- self.results["stats"]["Ideal-RSS"][perm] = {
- "mean": {
- "VmHWM": 1024 * 100
- },
- "std": {
- "VmHWM": 0
- }
- }
-
- plt.plot(self,
- "{VmHWM}/1000",
- plot_type='bar',
- fig_options={
- 'ylabel': "VmHWM in MB",
- 'title': "blowup test"
- },
- file_postfix="vmhwm")
-
- plt.pgfplot(self,
- self.iterate_args(self.results["args"]),
- "'blowup'",
- "{VmHWM}/1000",
- xlabel="",
- ylabel="VmHWM in MB",
- title="blowup test",
- postfix="vmhwm",
- bar=True)
-
- del allocators["Ideal-RSS"]
- del self.results["stats"]["Ideal-RSS"]
-
- # plt.export_stats_to_dataref(self, "VmHWM")
-
-
-blowup = BenchmarkBlowup()