Simple Memory Manager - Efficiency The above algorithm looks rather trivial. Yet, it is far more efficient then it looks like, because the linked-list of free chunks is usually small, since we only hold a list of the _free_ chunks, not of the _used_ chunks. If we start freeing memory, the list tends to grow. However, it is likely that further allocations will re-use the same chunks that were freed, reducing the list's size again. For information on various memory-management techniques, you might look at: ftp://ftp.cs.utexas.edu/pub/garbage/allocsrv.ps