Introduction to Allocators
This post is intended for programmers who aren't particularly familiar with various memory management techniques and have some basic experience in low level environments, such as C. For such lower level programming languages, manually allocating and freeing memory may be daunting to some programmers as it can be easy to make mistakes, like in a complicated data structure. This may drive them to use a higher level language, where allocating memory is simple and there is no need to free the memory as the runtime is garbage collected, which may be convenient, but hinders performance in both apparent and subtle ways.
Instead of manually allocating and freeing every chunk of memory, using alternative allocators can both improve performance and convenience compared to standard dynamic allocation, making low level programming more approachable. These alternative allocators aren’t as flexible as a dynamic allocator such as malloc, but that tradeoff is often