#slice #arena

slice-arena

Store lots of tiny slices with low overhead, in contiguous blocks of memory

1 stable release

1.0.0 Apr 10, 2020

#528 in Memory management

CC0 license

8KB
130 lines

Memory pool for slices and paths

SliceArena can store any number of slices, string slices or paths with minimal overhead even for very short slices.

It allocates contiguous blocks of memory, and frees them all at once when it's dropped.

It's a faster and more efficient option than Box<str>, Rc<String>, etc.

Note that you can't hold an owned SliceArena object in the same struct as slices from the arena, due to borrow checker's "self-referential struct" limitation. Make your constructors take an arena as an argument, by reference.

No runtime deps