This repository contains implementations of various memory allocators. These allocators use different strategies for managing memory, each with its own set of trade-offs and benefits. This project aims to provide an understanding of memory allocation techniques and their applications.
Using a custom memory allocator can lead to improved performance and memory management for specific tasks when compared to the general-purpose malloc
function. Custom allocators optimize memory usage, decrease fragmentation, and have faster allocation and deallocation, which can be particularly beneficial for applications with distinct memory requirements.
This project currently implements the following memory allocators:
The source code of every allocator can be found over at the src
directory.
Detailed benchmark results for different allocation scenarios (small/ varying/ large) using the memory allocators are available here. This file is included in the repository for your reference over at the benchmarks
directory.
© Pavlos Dais