Cla*_*bel 0 c++ heap optimization
优化全局运算符new的优化是否有任何问题将所有分配都集中到下一个2的幂?从理论上讲,这会以更高的最坏情况内存消耗为代价来降低碎片,但操作系统是否已经采用这种技术的冗余行为,或者它是否尽力保存内存?
基本上,鉴于内存使用不是性能问题,我应该这样做吗?
小智 6
默认的内存分配器可能非常智能,并且可以很好地处理大量的中小型对象,因为这是最常见的情况.对于所有分配器,请求的字节数永远不会是分配的数量.例如,如果你说:
char * p = new char[3];
Run Code Online (Sandbox Code Playgroud)
分配器几乎肯定会做类似的事情:
char * p = new char[16]; // or some minimum power of 2 block size
Run Code Online (Sandbox Code Playgroud)
除非您能证明分配存在实际问题,否则不应考虑编写自己的新版本.