From 8ca8135f8302a1caafecccdba0671732bb5a3077 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Mon, 14 Oct 2019 17:14:13 +0200 Subject: add rpmalloc --- src/allocators/rpmalloc.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/allocators/rpmalloc.py (limited to 'src/allocators/rpmalloc.py') diff --git a/src/allocators/rpmalloc.py b/src/allocators/rpmalloc.py new file mode 100644 index 0000000..c10944e --- /dev/null +++ b/src/allocators/rpmalloc.py @@ -0,0 +1,40 @@ +# 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. + +"""rpmalloc definition for allocbench""" + +from src.allocator import Allocator +from src.artifact import GitArtifact + + +class Rpmalloc(Allocator): + """rpmalloc allocator""" + + sources = GitArtifact("rpmalloc", "https://github.com/mjansson/rpmalloc") + + def __init__(self, name, **kwargs): + + self.LD_PRELOAD = "{dir}/librpmalloc.so" + self.build_cmds = ["cd {srcdir}; ./configure.py", + "cd {srcdir}; ninja", + "mkdir -p {dir}", + 'ln -f -s $(find {srcdir}/bin -path "*release*librpmalloc.so") {dir}/librpmalloc.so'] + + super().__init__(name, **kwargs) + + +rpmalloc = Rpmalloc("rpmalloc", color="xkcd:chestnut", version="1.4.0") -- cgit v1.2.3