Skip to content

Commit

Permalink
Add remaining descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
nicovank committed Oct 25, 2022
1 parent 71c5783 commit 1949107
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,21 @@ mudlle's input, with the benchmark taking typically less than a second.
- **`197.parser`**: This benchmark uses a custom stack-like pattern: it initially allocates a large chunk of memory,
and then uses a bump pointer for each malloc call. If an object is freed, it is marked, and the pointer is sent back
to the end of the last unmarked object. In the shim, we replace `xalloc` with the usual `malloc`.

- **`boxed-sim`**: This benchmark uses a free list for each type of object. In the shim, we simply disable the
freelists and replace the times when the program looked if an object was reusable with a standard `malloc`.

- **`mudlle`**: A typical arena-allocator. Citing `calloc-heap.c`.
> Based on the concept of blocks: you allocate memory from a block, and can free the whole block at one go.
> Individual deallocations are not possible.
We shim this system by simply keeping allocated objects on a linked list, and calling `free` recursively when a
block is freed.

- **`175.vpr`**: Mix between a standard arena-allocator and a "stack-like" allocator similar to the one used in
`197.parser`. "Chunks" are allocated, with allocations going in the current chunk (or a new one is created). Objects
can be freed all at once by saving and passing the chunk pointer before starting bulk allocations.

## Results

We present a series of graphs for each benchmark, using the following versions of glibc (the Linux default allocator),
Expand Down

0 comments on commit 1949107

Please sign in to comment.