gpt4 book ai didi

performance - Slab 分配器性能比较

转载 作者:行者123 更新时间:2023-12-02 00:44:45 29 4
gpt4 key购买 nike

我正在考虑改进操作系统内核中的 malloc()。我们目前使用 dlmalloc,但我想要一个我们可以编辑的自制解决方案,而无需处理一千行文件。

我决定研究 slab 分配器 (Bonwick94),我相信它是正确的选择。到目前为止,我理解了这个概念并准备好实现它。但是,我想在开始工作之前先了解一下性能比较。

假设 malloc 下面的层(vmem、pmem 等)的影响可以忽略不计,那么 slab 分配器与 dlmalloc 和其他常见的 malloc 实现(buddy、best-fit/first-fit)相比如何,混合动力车)?

最佳答案

我相信 slab 分配器至少是 dlmalloc 的部分灵感,并且基本轮廓被认为是通用分配器系统的最佳权衡整体组合。通用的“一刀切”分配器——没有双关语意——在“最适合”、“最适合”等抽象级别,通常不会削减它;单一算法的局限性太大。因此,一个组合,比如说,与 slab 分配器一起使用的最佳匹配,将表现得更加令人满意。

使用“子分配器”的层次结构以及针对您环境中的使用配置文件定制的行为比听起来容易 - 例如,为“小” block 使用一个分配系统(但可能在您的环境中定义) ,另一个“大”可以极大地影响速度和碎片性能,我个人的兴趣是使用 block “生命周期”特征来帮助分配器选择。

但归根结底,我不相信单一的分配策略;但是你可以从只有 2 或 3 个(最多)子分配器的混合中获得很多性能改进;同时,使用该方法您最终可能会得到相同的 1000 行大小。

关于performance - Slab 分配器性能比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1157299/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com