Reducing Memory Fragmentation with Performance-Optimized Dynamic Memory Allocators in Network Applications