From f8217d240d598f39f70047f7a623dd46312542c6 Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sat, 4 Dec 2021 16:01:12 -0800 Subject: Initial commit. --- listpool/README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 listpool/README.md (limited to 'listpool/README.md') diff --git a/listpool/README.md b/listpool/README.md new file mode 100644 index 0000000..ed38980 --- /dev/null +++ b/listpool/README.md @@ -0,0 +1,14 @@ +# Listpool + +A block allocator built from a single, contiguous array of memory that maintains +free and used blocks in doubly linked lists. + +A `listpool` is similar to a `mempool`, but the additional structure allows it +to: + +- Allocate and free blocks in constant time. +- Traverse used blocks in linear time in the number of used blocks, as opposed + to the total number of blocks like in a `mempool`. + +A `listpool` otherwise provides the same guarantees and characteristics as a +`mempool`. -- cgit v1.2.3