aboutsummaryrefslogtreecommitdiff
path: root/src/allocators/tcmalloc.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/allocators/tcmalloc.py')
-rw-r--r--src/allocators/tcmalloc.py24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/allocators/tcmalloc.py b/src/allocators/tcmalloc.py
index 916da88..f81f88b 100644
--- a/src/allocators/tcmalloc.py
+++ b/src/allocators/tcmalloc.py
@@ -17,30 +17,28 @@
"""TCMalloc definition for allocbench"""
-from src.allocator import Allocator, AllocatorSources
-
-VERSION = 2.7
-
-TCMALLOC_SRC = AllocatorSources("tcmalloc",
- ["git clone https://github.com/gperftools/gperftools.git tcmalloc"],
- [f"git checkout gperftools-{VERSION}", "./autogen.sh"],
- ["git reset --hard"])
+from src.allocator import Allocator
+from src.artifact import GitArtifact
class TCMalloc(Allocator):
"""TCMalloc allocator"""
+
+ sources = GitArtifact("tcmalloc", "https://github.com/gperftools/gperftools.git")
+
def __init__(self, name, **kwargs):
- kwargs["sources"] = TCMALLOC_SRC
- kwargs["LD_PRELOAD"] = "{dir}/lib/libtcmalloc.so"
- kwargs["build_cmds"] = ["cd {srcdir}; ./configure --prefix={dir}",
- "cd {srcdir}; make install -j4"]
+ 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 = TCMalloc("TCMalloc", color="xkcd:blue")
+tcmalloc = TCMalloc("TCMalloc", color="xkcd:blue", version="gperftools-2.7")
tcmalloc_nofs = TCMalloc("TCMalloc-NoFalsesharing",
patches=["{patchdir}/tcmalloc_2.7_no_active_falsesharing.patch"],
+ version="gperftools-2.7",
color="xkcd:navy")