本文介绍了自定义内存分配器在C /经理吗?哪种方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在寻找用C语言编写的一些(自定义),内存管理器/分配器,通过一些文章,去 -

有些链接:









我有使用任何可用的一个沙箱一个小型Web服务器,我有书面的包装线程处理/分配方案没有问题。 Apache的WS使用内存池,用于处理内存和池不是持久的,它是每个请求的基础。你们可以建议的东西吗?这个问题的一些好的/最好的方法?我的要求如下; -


  1. (有界响应时间)的分配和解除分配有事先是已知的,即一些
    成本不变O(C),其中c是
    恒定的。


  2. 从异构碎片
        分配/解除分配的大小或
        顺序应该如何处理,我可以写的模式/封装提供
        一样的。


真正的AP preciate您的帮助和想法!


解决方案

To avoid fragmentation, you will have to use a hybrid block allocation strategy. Hybrid here means different sized element blocks than having single sized element blocks i.e. The allocator (or a wrapper around it) should maintain blocks of different-sized elements(small, medium and large etc.). All allocation requests should be rounded up to the nearest block boundary. This strategy shall ensure you will not suffer from external fragmentation but can cause internal fragmentation. You can find more info at the following links:

http://www.cotsjournalonline.com/magazine/articles/view/101217/pg:2http://people.freebsd.org/~jasone/jemalloc/bsdcan2006/jemalloc.pdf

这篇关于自定义内存分配器在C /经理吗?哪种方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 06:59