专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅
stl中各种容器都有一个可选的模板参数:allocator,也就是一个负责内存分配的组件。STL标准规定的allcator被定义在memory文件中。STL标准规定的allocator只是单纯地封装operator new,效率上有点过意不去。 SGI实现的STL里,所有的容器都使用SGI自己定义的allocator。这个allocator实现了一个small object的内存池。Loki里为了处理小对象的内存分配,也实现了类似的内存管理机制。 该内存池大致上,就是一大块一大块地从系统获取内存,然后将其分成很多小块以链表的形式链接起来。其内部有很 [阅读全文] [PDF]
经典内存池(MemPool)技术是种用于分配大量大小相同小对象技术通过该技术可以极大加快内存分配/释放过程下面我们详细解释其中奥妙 经典内存池只涉及两个常量:MemBlockSize、ItemSize(小对象大小但不能小于指针大小在32位平台也就是不能小于4字节)以及两个指针变量MemBlockHeader、FreeNodeHeader开始这两个指针均为空 MemPool { private: constm_nMemBlockSize; constm_nI [阅读全文] [PDF]
1 共2条 分1页