aboutsummaryrefslogtreecommitdiff
path: root/src/allocators/installed_allocators.py
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2019-04-28 22:54:12 +0200
committerFlorian Fischer <florian.fl.fischer@fau.de>2019-04-28 22:54:12 +0200
commit383df3e024a52b6152ae33ae122ec977ac53cec0 (patch)
treea5e9b188a65d3e535dbf9b25e878f970d40426ae /src/allocators/installed_allocators.py
parent680f46b2d51db66ac5028a6a8df7cdf82958bb54 (diff)
downloadallocbench-383df3e024a52b6152ae33ae122ec977ac53cec0.tar.gz
allocbench-383df3e024a52b6152ae33ae122ec977ac53cec0.zip
start moving allocator definitions to src/allocators
Diffstat (limited to 'src/allocators/installed_allocators.py')
-rw-r--r--src/allocators/installed_allocators.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/allocators/installed_allocators.py b/src/allocators/installed_allocators.py
new file mode 100644
index 0000000..26fab5b
--- /dev/null
+++ b/src/allocators/installed_allocators.py
@@ -0,0 +1,27 @@
+"""Default allocators using system libraries"""
+
+import os
+import subprocess
+
+import src.globalvars
+
+maybe_allocators = ["tcmalloc", "jemalloc", "hoard"]
+
+src.globalvars.allocators = {"libc": {"cmd_prefix" : "",
+ "binary_suffix" : "",
+ "LD_PRELOAD" : "",
+ "color" : "C1"}}
+
+for i, t in enumerate(maybe_allocators):
+ try:
+ path = subprocess.run('whereis lib{} | cut -d":" -f2'.format(t),
+ shell=True, stdout=subprocess.PIPE,
+ universal_newlines=True).stdout.strip()
+
+ if path != "":
+ src.globalvars.allocators[t] = {"cmd_prefix": "",
+ "binary_suffix": "",
+ "LD_PRELOAD": path,
+ "color": "C"+str(i+2)}
+ except:
+ pass