# 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`.