Commit 7f1588ee authored by Florian Fischer's avatar Florian Fischer
Browse files

[Readme] Update Readme and add some context about what allocbench does

parent e0666c64
Pipeline #45714 passed with stage
in 4 minutes and 57 seconds
# 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>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment