aboutsummaryrefslogtreecommitdiff
path: root/Readme.md
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fl.fischer@fau.de>2020-07-20 17:14:22 +0200
committerFlorian Fischer <florian.fl.fischer@fau.de>2020-07-20 17:14:55 +0200
commit7f1588ee3fb82bf2d5808bd304fdb28b80f6d11c (patch)
tree4ed92ba6b620e87494510704c337d95d3c9b790f /Readme.md
parente0666c6466b01498e578a6eabcd1c536c8375090 (diff)
downloadallocbench-7f1588ee3fb82bf2d5808bd304fdb28b80f6d11c.tar.gz
allocbench-7f1588ee3fb82bf2d5808bd304fdb28b80f6d11c.zip
[Readme] Update Readme and add some context about what allocbench does
Diffstat (limited to 'Readme.md')
-rw-r--r--Readme.md21
1 files changed, 15 insertions, 6 deletions
diff --git a/Readme.md b/Readme.md
index a2247aa..a47113d 100644
--- a/Readme.md
+++ b/Readme.md
@@ -1,6 +1,16 @@
# allocbench - benchmark tool for POSIX memory allocators
allocbench is a POSIX memory allocator benchmarking framework and tooling.
+It was used in Florian Fischer's [BA thesis](https://muhq.space/ba.html).
+
+What can allocbench do for you ?
+
+* Deterministically builds and patches allocators from git or source archives
+* Couples allocators with various included benchmarks as well as your custom ones
+* Supports you in analyzing your benchmark results by providing statistical and plot helper functions
+* Comes with support for two different malloc tracers to help you understand benchmark and allocator behavior
+* Contains numerous wildly used benchmarks in allocator research (espresso, cfrac, larson, ...)
+* It is extended easily with our own allocators and or custom benchmarks
To obtain allocbench run
@@ -10,12 +20,12 @@ git clone https://muhq.space/software/allocbench.git
## Requirements
-* python >= 3.6
+* python >= 3.8
* make, find, gcc (build dependencies)
* perf (`perf stat -d` is the default command to measure benchmark results)
* util-linux (`whereis` is used to find system installed allocators)
* git, tar to handle external artifacts
-* numpy and matplotlib to summarize results and generate plots
+* numpy, scipy and matplotlib to summarize results and generate plots
## Usage
@@ -96,13 +106,12 @@ It groups the included allocators into categories to produce readable and not ex
./bench.py -b loop
-runs only the loop benchmark for all included allocators and will put its
+runs only the loop benchmark for all allocators found on the system and will put its
results in `$PWD/results/$HOSTNAME/<time>/loop`.
- ./bench.py -a ba_allocators
+ ./bench.py -a "tcmalloc*"
-builds all allocators used in Florian Fischer's [BA thesis](https://muhq.space/ba.html)
-and runs all benchmarks.
+builds all tcmalloc variants shipped with allocbench and runs all benchmarks.
./summarize.py <path/to/saved/results>