diff options
author | 3gg <3gg@shellblade.net> | 2021-12-04 16:01:12 -0800 |
---|---|---|
committer | 3gg <3gg@shellblade.net> | 2021-12-04 16:01:12 -0800 |
commit | f8217d240d598f39f70047f7a623dd46312542c6 (patch) | |
tree | 4e40843d665e388416c1226f739c2b8c0b8da736 /listpool/README.md | |
parent | 5f6ea503cdb6ad4a95b679672a1ad324d96c89a5 (diff) |
Initial commit.
Diffstat (limited to 'listpool/README.md')
-rw-r--r-- | listpool/README.md | 14 |
1 files changed, 14 insertions, 0 deletions
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 @@ | |||
1 | # Listpool | ||
2 | |||
3 | A block allocator built from a single, contiguous array of memory that maintains | ||
4 | free and used blocks in doubly linked lists. | ||
5 | |||
6 | A `listpool` is similar to a `mempool`, but the additional structure allows it | ||
7 | to: | ||
8 | |||
9 | - Allocate and free blocks in constant time. | ||
10 | - Traverse used blocks in linear time in the number of used blocks, as opposed | ||
11 | to the total number of blocks like in a `mempool`. | ||
12 | |||
13 | A `listpool` otherwise provides the same guarantees and characteristics as a | ||
14 | `mempool`. | ||