Ani*_*tti 4 algorithm malloc operating-system memory-management heuristics
考虑使用malloc()在碎片堆中分配x个字节的内存.假设堆有多个大小大于x字节的连续位置.
哪个是最好的(导致最少的堆浪费)启发式选择以下位置?
我的直觉是比x字节大的最小位置.我不确定哪种是最好的.
不,这不是任何转让问题.我正在读这个怎么做malloc()和free()工作?这看起来像是一个很好的跟进问题.
小智 5
在一个混合了不同大小的分配的通用堆中,然后在两个中我将分配放在可以容纳它的最小块中(以避免在我们需要之前减少我们可以分配的最大块的大小) .
还有其他实现堆的方法会使这个问题变得不那么重要(例如Doug Lea 所使用的流行dlmalloc - 它会将类似大小的块放在一起以提高速度并减少整体碎片).
哪种解决方案最好总是归结为应用程序执行内存分配的方式.如果您事先知道应用程序模式,那么您应该能够在大小和速度上击败通用堆.
归档时间:
15 年,2 月 前
查看次数:
4149 次
最近记录: