The documentation advocates pool allocation for production systems to avoid fragmentation.
However, if using Heap allocation (ie. no pools) if all the memory allocations are performed by just one process, which gets restarted (and hence all buffers automatically freed) - is fragmentation a problem, since CMEM gets all its memory back each time ?
It would be more flexible to omit pool definitions and just let the application request what it needed each time.
But if Heap-based usage always gave rise to fragmentation despite all the CMEM meory being freed from time to time, then it would be necessary to continue to use Pools.