读书人

动态内存申请教题!

发布时间: 2012-06-09 17:16:42 作者: rapoo

动态内存申请问题!!!
有如下疑问:

用for循环,循环200次去申请200个动态内存,假设总共8m大小

与直接一次申请8m的动态内存

他们的性能相差大吗?

如何用测试这个性能?

谢谢各位。


[解决办法]
大。
CPU有Cache针对紧邻的内存块。
[解决办法]
c++ 的new可能使用了内存池, 如果使用了内存池的话, 则性能差别不大, 否则每次都要从操作系统申请动态内存, 性能差别就很大。 测试性能的话 测试的衡量标准应该是时间花费。 你可以计时来比较性能
[解决办法]
另外就是多次申请容易导致出现更多的内存碎片, 关于内存碎片可以进一步去了解

读书人网 >C++

热点推荐