2012年2月23日

记录一下 __gnu_cxx::hash_map传一个新allocator的写法

摘要: 老得查代码写,这里记录一下:hash_map(size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a = allocator_type()) // 全局的角色指针Allocator __gnu_cxx::__pool_alloc<Role*> g_rolePtrAlloc; typedef __gnu_cxx::hash_map< uint32_t, Role*, __gnu_cxx::hash<uint32_t>, ... 阅读全文

posted @ 2012-02-23 16:30 daemonh 阅读(346) 评论(0) 推荐(0) 编辑

内存碎片和memcached slab控制碎片方法

摘要: 转自:http://blog.csdn.net/xuzhonghai/article/details/7285821内存碎片的产生:内存分配有静态分配和动态分配两种 静态分配在程序编译链接时分配的大小和使用寿命就已经确定,而应用上要求操作系统可以提供给进程运行时申请和释放任意大小内存的功能,这就是内存的动态分配。 因此动态分配将不可避免会产生内存碎片的问题,那么什么是内存碎片?内存碎片即“碎片的内存”描述一个系统中所有不可用的空闲内存,这些碎片之所以不能被使用,是因为负责动态分配内存的分配算法使得这些空闲的内存无法使用,这一问题的发生,原因在于这些空闲内存以小且不连续方式出现在不同的位置。因此 阅读全文

posted @ 2012-02-23 10:04 daemonh 阅读(271) 评论(0) 推荐(0) 编辑

导航