Memory Manager#

Overview#

Memory Manager is a Heap Memory Allocator that works with both 32-bit and 64-bit memory configurations.

Skills / Tech Stack#

C++ Git Visual Studio Visual Assist X


Contributions#

  • Implemented a First Fit List Allocator that handles large object allocation(i.e., memory greater than 96 bytes).
  • Implemented a Fixed-size pool Allocator to handle memory blocks ranging from 0 to 96 bytes (this allocator contains different memory buckets, such as 100 blocks for 0-16 bytes, 200 blocks for 16-32 bytes, and 400 blocks for 33-96 bytes).
  • Reduced memory metadata footprint using Bit Array implementation that uses bits instead of n-bytes to keep track of the memory block allocation and deallocation; optimized read instructions using byte-aligned address allocations.
  • Leveraged compiler intrinsics for optimizations and incorporated memory leak detection for unit test cases.

Links 🔗#

MemoryManager on GitHub