Reducing memory fragmentation in network applications with dynamic memory allocators optimized for performance