aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2020-01-17 03:06:15 +0100
committerFlorian Fischer <florian.fl.fischer@fau.de>2020-02-09 15:30:22 +0100
commit969fe0f6cd030bbd9dbfac0de1c0df0149486ffd (patch)
treeb6a5eaaaacb3d916459bfa4c8547d31c4e890f9a
parent82d74f02983df932eb5818a5b76a87efa055bd5a (diff)
downloadallocbench-969fe0f6cd030bbd9dbfac0de1c0df0149486ffd.tar.gz
allocbench-969fe0f6cd030bbd9dbfac0de1c0df0149486ffd.zip
use align_to_cl.so in front of TCMalloc
-rw-r--r--src/allocators/tcmalloc.py8
-rw-r--r--src/allocators/tcmallocs.py23
2 files changed, 30 insertions, 1 deletions
diff --git a/src/allocators/tcmalloc.py b/src/allocators/tcmalloc.py
index f81f88b..ecd03e1 100644
--- a/src/allocators/tcmalloc.py
+++ b/src/allocators/tcmalloc.py
@@ -17,7 +17,7 @@
"""TCMalloc definition for allocbench"""
-from src.allocator import Allocator
+from src.allocator import Allocator, BUILDDIR
from src.artifact import GitArtifact
@@ -42,3 +42,9 @@ tcmalloc_nofs = TCMalloc("TCMalloc-NoFalsesharing",
patches=["{patchdir}/tcmalloc_2.7_no_active_falsesharing.patch"],
version="gperftools-2.7",
color="xkcd:navy")
+
+tcmalloc_align = TCMalloc("TCMalloc-Aligned",
+ version="gperftools-2.7",
+ color="xkcd:navy")
+
+tcmalloc_align.LD_PRELOAD = f"{BUILDDIR}/align_to_cl.so {tcmalloc_align.LD_PRELOAD}"
diff --git a/src/allocators/tcmallocs.py b/src/allocators/tcmallocs.py
new file mode 100644
index 0000000..fe8121f
--- /dev/null
+++ b/src/allocators/tcmallocs.py
@@ -0,0 +1,23 @@
+# Copyright 2018-2019 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/>.
+
+"""Collection containing all glibc variants"""
+
+from src.allocators.tcmalloc import tcmalloc, tcmalloc_nofs, tcmalloc_align
+
+
+allocators = [tcmalloc, tcmalloc_nofs, tcmalloc_align]