用Bollger记录技术之路的点滴...

关注高性能linux网络编程,NoSQL, c/c++/java ~~~ weibo @语_行 http://weibo.com/201281062~~~ twitter @JerryVector https://twitter.com/JerryVector
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年7月30日

摘要: SGI STL考虑到小型内存区块的碎片问题,设计了双层级配置器,第一级配置直接使用malloc()和free();第二级配置器则视情况采用不同的策略,当配置区大于128bytes时,直接调用第一级配置器;当配置区块小于128bytes时,遍不借助第一级配置器,而使用一个memory pool来实现。究竟是使用第一级配置器还是第二级配置器,由一个宏定义来控制。SGI中默认使用第二级配置器。 第一级配置器实现的比较简单,调用malloc()申请内存,申请失败的时候,将抛出bad_alloc异常。下边我着重介绍下二级配置器的实现思路。 上边提到了第二级配置器视情况不同而采用不同的策略;其主要目... 阅读全文

posted @ 2013-07-30 21:09 语行 阅读(2059) 评论(0) 推荐(0) 编辑

摘要: 1、 符合STL标准的空间配器接口STL是c++中使用非常广泛的一个标准库,它包含各种有用的容器。而空间配置器作为STL各种容器的背后的核心,负责容器内部内存的分配和释放。不过空间配置器可以分配的也不只是内存,因为空间也意味着可以是磁盘或者其他存储介质。下边是一个符合STL规范的空间配置器的必要接口:allocator::value_typeallocator::pointerallocator::const_pointerallocator::referenceallocator::const_referenceallocator::size_typeallocator::differenc 阅读全文

posted @ 2013-07-30 18:54 语行 阅读(1423) 评论(0) 推荐(0) 编辑