From 2d86e20f5a44aea66725686531463931f38aa2dc Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Mon, 24 Jun 2019 14:51:21 +0200 Subject: rework allocator definitions #2 bench.py no evals only if argument to -a is file path. Otherwise it will check if "arg".py is found in src/allocators/ then it imports it. Collection definitions must export a iterable member called allocators. Allocator definitions must export a member named "arg". --- src/allocators/all.py | 41 +++++++++-------------------------------- 1 file changed, 9 insertions(+), 32 deletions(-) (limited to 'src/allocators/all.py') diff --git a/src/allocators/all.py b/src/allocators/all.py index 3973c37..bf2babd 100644 --- a/src/allocators/all.py +++ b/src/allocators/all.py @@ -1,44 +1,21 @@ from src.allocator import Allocator as Alloc from src.allocator import Allocator_Sources as Alloc_Src -from src.allocators.glibc import Glibc -from src.allocators.tcmalloc import TCMalloc -from src.allocators.jemalloc import Jemalloc -from src.allocators.hoard import Hoard +import src.allocators.glibcs +from src.allocators.tcmalloc import tcmalloc, tcmalloc_nofs +from src.allocators.jemalloc import jemalloc +from src.allocators.hoard import hoard +from src.allocators.supermalloc import supermalloc -glibc = Glibc("glibc", color="C1") - -glibc_notc = Glibc("glibc-notc", - configure_args="--disable-experimental-malloc", - color="C2") - -glibc_nofs = Glibc("glibc_nofs", - patches=["allocators/glibc_2.28_no_passive_falsesharing.patch"], - color="C3") - -glibc_nofs_fancy = Glibc("glibc_nofs_fancy", - patches=["allocators/glibc_2.28_no_passive_falsesharing_fancy.patch"], - color="C4") - -tcmalloc = TCMalloc("tcmalloc", color="C5") - -tcmalloc_nofs = TCMalloc("tcmalloc_nofs", - patches= ["{patchdir}/tcmalloc_2.7_no_active_falsesharing.patch"], - color="C5") - -jemalloc = Jemalloc("jemalloc", color="C6") - -hoard = Hoard("Hoard", color="C7", patches=["allocators/hoard_make.patch"]) mesh = Alloc("Mesh", sources=Alloc_Src("Mesh", - retrieve_cmds=["git clone https://github.com/plasma-umass/Mesh"], - reset_cmds=["git stash"]), + retrieve_cmds=["git clone https://github.com/plasma-umass/Mesh"], + reset_cmds=["git stash"]), LD_PRELOAD="{srcdir}/libmesh.so", build_cmds=["cd {srcdir}; git submodule update --init", "cd {srcdir}; ./configure", "cd {srcdir}; make -j 4", "mkdir {dir}"]) -allocators_to_build = [glibc, glibc_notc, glibc_nofs, glibc_nofs_fancy, tcmalloc, tcmalloc_nofs, jemalloc, hoard, mesh] - -allocators = {a.name: a.build() for a in allocators_to_build} +allocators = [*src.allocators.glibcs.allocators, tcmalloc, tcmalloc_nofs, + jemalloc, hoard, mesh, supermalloc] -- cgit v1.2.3