I have been trying to understand how pools and bucket allocators work.


My main question is why we have bucket allocators and not just use pools.


My take on this is that bucket allocators allow you to return buffers back at any time while pools only return the buffers when the pool is destroyed.


Is this the reason why or am I missing something else?