This. If you're going to malloc/free equally sized objects often but randomly, a pool allocator can be a great improvement.
With real time requirements you often care about your response time or worst case execution time. In some areas of embedded, safety critical systems you're usually prohibited from using heap at all (instead, stuff is put in global variables or on the stack - so you're only growing in one direction).