Best Fit与 First Fit

Best Fit与 First Fit
内存分配的两种方式
UNIX System V的malloc使用的是 first fit 为此 我一直觉得很奇怪 为啥 为啥 有best不用 为啥要用那个first 奇怪
为此我傻瓜了好久

今天 项目空闲时 想明白了 呵呵
因为 我们不一定能找到最适合的大小的内存 可能每次还都是会有些碎片的
如果使用best fit 万一每次都没有找到的话 那么每次产生的碎片都是最小的 这样的碎片可能对以后都没有什么用处了
而如果使用first fit 就不会每次都产生最小的碎片 而是产生的碎片可能比较大 下次申请的时候  可能这么段刚好给它用了 完美

而且还有效率的考虑 如果4G的内存 每次分配都遍历一次 那么多次分配 速度可能就太差了 而first就没有这个问题


你可能感兴趣的:(Best Fit与 First Fit)