【发布时间】:2012-01-16 14:09:09
【问题描述】:
我正在尝试实现自己的内存分配代码,它既简单又高效。任何想法我可以从哪里开始。 gcc 使用什么算法?
【问题讨论】:
-
在 1..10 的尺度上,1 是最有效的,10 是最简单的,你的代码应该放在哪里?
-
目前我更喜欢最简单的。
-
您可能想阅读About Memory Allocators。
-
你应该首先确定你需要这个。即使在 Windows XP 下,标准分配器被认为是最糟糕的,我从来没有遇到任何 合理 的情况,其中分配是可衡量的事情或问题。当分配成为问题时,例如当您每秒执行超过 500 万次分配时,实际问题不是分配器,而是您的代码。少做。此外,许多“快速”分配器在不同情况下的行为非常不同,而“更好”的分配器总体上很可能更慢,而且以不明显的方式。