aboutsummaryrefslogtreecommitdiff
path: root/src/allocators/speedymalloc.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/allocators/speedymalloc.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/allocators/speedymalloc.py')
-rw-r--r--src/allocators/speedymalloc.py87
1 files changed, 0 insertions, 87 deletions
diff --git a/src/allocators/speedymalloc.py b/src/allocators/speedymalloc.py
deleted file mode 100644
index 6fe202a..0000000
--- a/src/allocators/speedymalloc.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2018-2020 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/>.
-"""Speedymalloc
-
-Speedymalloc is a cached bump pointer allocator.
-A bump pointer allocator makes the biggest possible tradeoff between speed and
-memory in speeds favor. Memory is mmapped per thread and never freed.
-"""
-
-from src.artifact import GitArtifact
-from src.allocator import Allocator
-
-VERSION = "dd24b9d24c78c798df97ca5556ba248ccff97ca7"
-
-
-class Speedymalloc(Allocator):
- """Speedymalloc definition for allocbench"""
-
- sources = GitArtifact("speedymalloc",
- "https://gitlab.cs.fau.de/flow/speedymalloc.git")
-
- def __init__(self, name, **kwargs):
-
- configuration = "--buildtype=release "
- for option, value in kwargs.get("options", {}).items():
- configuration += f"-D{option}={value} "
-
- self.build_cmds = [
- f"meson {{srcdir}} {{dir}} {configuration}", "ninja -C {dir}"
- ]
-
- self.LD_PRELOAD = "{dir}/libspeedymalloc.so"
- super().__init__(name, **kwargs)
-
-
-speedymalloc = Speedymalloc("speedymalloc", version=VERSION)
-
-speedymalloc_no_madv_free = Speedymalloc("speedymalloc_no_madv_free",
- options={"madvise_free": "false"},
- version=VERSION)
-
-speedymalloc_no_madv_willneed = Speedymalloc(
- "speedymalloc_no_madv_willneed",
- options={"madvise_willneed": "false"},
- version=VERSION)
-
-speedymalloc_4095_sc_32 = Speedymalloc("speedymalloc_4095_sc_32",
- options={
- "cache_bins": 4095,
- "cache_bin_seperation": 32
- },
- version=VERSION)
-
-speedymalloc_4095_sc_128 = Speedymalloc("speedymalloc_4095_sc_128",
- options={
- "cache_bins": 4095,
- "cache_bin_seperation": 128
- },
- version=VERSION)
-
-speedymalloc_only_glab = Speedymalloc(
- "speedymalloc_only_glab",
- options={"max_local_allocation_buffer_size": 0},
- version=VERSION)
-
-speedymalloc_no_glab = Speedymalloc(
- "speedymalloc_no_glab",
- options={"max_local_allocation_buffer_size": -1},
- version=VERSION)
-
-# speedymalloc_rseq = Speedymalloc(
- # "speedymalloc_rseq",
- # version="e1549fa2a2833deba0ba53504a6c67ee31a0e42a")