|
libarena
Arena memory management library
|
This is an Arena memory manager with basic bookkeeping and support for basic memory management functions (malloc, calloc, realloc, memcpy, and free). Arena memory managers are useful for short-lived data, such as game state information, ASTs, and other use-cases where the needed size is predictable and speed is important. Arenas can also be easily dumped for debugging.
Bookkeeping can be disabled for better performance, but tags will not work. When an Arena is initialized with managed set to false, whenever malloc or calloc is called, an internal pointer will simply be incremented, and blocks will not be managed internally.
Library documentation is available here.
If you find a bug, submit an issue, PR, or email me with a description and/or patch.
Copyright (c) 2025-2026 Ben O'Neill ben@o.nosp@m.neil.nosp@m.l.sh. This work is released under the terms of the MIT License. See [LICENSE](LICENSE) for the license terms.