From 7f1588ee3fb82bf2d5808bd304fdb28b80f6d11c Mon Sep 17 00:00:00 2001 From: Florian Fischer <florian.fl.fischer@fau.de> Date: Mon, 20 Jul 2020 17:14:22 +0200 Subject: [PATCH] [Readme] Update Readme and add some context about what allocbench does --- Readme.md | 21 +++++++++++++++------ 1 file 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> -- GitLab