我写这篇是因为我注意到当我需要对n个元素的列表进行排序时,即使分配了所有元素并且所请求的唯一操作是交换和移动元素,我的ram使用量仍在增长...
问题不在于算法的速度,而是在每个新周期都会分配很多ram的事实,我不明白为什么,你能帮我吗?
谢谢!
答案 0 :(得分:1)
valgrind --tool=massif
下运行
... 有大量的排序算法和容器实现,许多(如果不是大多数)容器实现在每次插入/擦除操作上分配/释放内存,所以你真的需要一直到最好的细节并选择正确的组合,如果动态分配是一个问题。