From 8174a918ea3b7cb216bf7ea98cfdc10661b5c37d Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Wed, 6 May 2020 16:56:32 +0200 Subject: 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 --- src/allocators/tcmalloc.py | 90 ---------------------------------------------- 1 file changed, 90 deletions(-) delete mode 100644 src/allocators/tcmalloc.py (limited to 'src/allocators/tcmalloc.py') diff --git a/src/allocators/tcmalloc.py b/src/allocators/tcmalloc.py deleted file mode 100644 index 7f67146..0000000 --- a/src/allocators/tcmalloc.py +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 2018-2019 Florian Fischer -# -# 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. -"""TCMalloc definition for allocbench""" - -from src.allocator import Allocator, BUILDDIR -from src.artifact import GitArtifact - - -class TCMalloc(Allocator): - """TCMalloc allocator""" - - sources = GitArtifact("tcmalloc", "https://github.com/google/tcmalloc.git") - - def __init__(self, name, **kwargs): - - self.LD_PRELOAD = "{dir}/libtcmalloc.so" - self.patches = ["{patchdir}/tcmalloc_bazel_build_so.patch"] - self.build_cmds = [ - "cd {srcdir}; bazel build tcmalloc/tcmalloc.so --compilation_mode opt", - "mkdir -p {dir}", - "cp -f {srcdir}/bazel-bin/tcmalloc/tcmalloc.so {dir}/libtcmalloc.so" - ] - - super().__init__(name, **kwargs) - - -tcmalloc = TCMalloc("TCMalloc", - color="xkcd:blue", - version="1676100265bd189df6b5513feac15f102542367e") - -tcmalloc_align = TCMalloc("TCMalloc-Aligned", - version="1676100265bd189df6b5513feac15f102542367e", - color="xkcd:light blue") - -tcmalloc_align.LD_PRELOAD = f"{BUILDDIR}/align_to_cl.so {tcmalloc_align.LD_PRELOAD}" - - -class TCMallocGperftools(Allocator): - """gperftools TCMalloc allocator""" - - sources = GitArtifact("gperftools", - "https://github.com/gperftools/gperftools.git") - - def __init__(self, name, **kwargs): - - self.LD_PRELOAD = "{dir}/lib/libtcmalloc.so" - self.prepare_cmds = ["./autogen.sh"] - self.build_cmds = [ - "cd {srcdir}; ./configure --prefix={dir}", - "cd {srcdir}; make install -j4" - ] - - super().__init__(name, **kwargs) - - -tcmalloc_gperftools = TCMallocGperftools("TCMalloc-gperftools", - color="xkcd:dark blue", - version="gperftools-2.7") - -tcmalloc_gperftools_nofs = TCMallocGperftools( - "TCMalloc-Gperftools-NoFalsesharing", - patches=["{patchdir}/tcmalloc_2.7_no_active_falsesharing.patch"], - version="gperftools-2.7", - color="xkcd:navy") - -tcmalloc_gperftools_align = TCMallocGperftools("TCMalloc-Gperftools-Aligned", - version="gperftools-2.7", - color="xkcd:navy blue") - -tcmalloc_gperftools_align.LD_PRELOAD = f"{BUILDDIR}/align_to_cl.so {tcmalloc_gperftools_align.LD_PRELOAD}" - -tcmalloc_gperftools_cacheline_exclusive = TCMallocGperftools( - "TCMalloc-Gperftools-Cacheline-Exclusive", - patches=["{patchdir}/tcmalloc_2.7_cacheline_exclusive.patch"], - version="gperftools-2.7", - color="xkcd:royal blue") -- cgit v1.2.3