- 博客(5)
- 资源 (2)
- 收藏
- 关注
翻译 内存池——第三章 关于TcMalloc(2)
周末抽空看了一下tcmalloc,了解了个大概。下面记录一下。一. 原理tcmalloc就是一个内存分配器,管理堆内存,主要影响malloc和free,用于降低频繁分配、释放内存造成的性能损耗,并且有效地控制内存碎片。glibc中的内存分配器是ptmalloc2,tcmalloc号称要比它快。一次malloc和free操作,ptmalloc需要300ns,而tcmalloc只要50ns
2016-04-20 00:38:45 1738
翻译 内存池——第三章 一些成型的内存池基础库(1)
(1) SGI STL 中的内存分配器( allocator ) SGI STL 的 allocator 应该是目前设计最优秀的 C++ 内存分配器之一了,它的运作原理候捷老师在《 STL 源码剖析》里讲解得非常清楚。基本思路是设计一个 free_list[16] 数组,负责管理从 8 bytes 到 128 bytes 不同大小的内存块( chunk ),每一个内存块都由连续的固定大
2016-04-20 00:29:39 1037
翻译 内存池——第二章 自定义内存池 & 类似STL内存管理器原理的内存池(2)
利用C/C++开发大型应用程序中,内存的管理与分配是一个需要认真考虑的部分。本文描述了内存池设计原理并给出内存池的实现代码,代码支持Windows和Linux,多线程安全。内存池设计过程中需要考虑好内存的分配与释放问题,其实也就是空间和时间的矛盾。有的内存池设计得很巧妙,内存分配与需求相当,但是会浪费过多的时间去查找分配与释放,这就得不偿失;实际使用中,我们更多的是
2016-04-19 23:23:51 1055
翻译 内存池——第二章 自定义内存池 & 动态分段连续的内存池(1)
本文翻译版本出自http://blog.csdn.net/060/archive/2006/10/08/1326025.aspx原文作者: DanDanger2000. 原文链接: http://www.codeproject.com/cpp/MemoryPool.aspC++ 内存池l 下载示例工程 – 105Kbl 下载源代码 – 1
2016-04-19 23:17:27 3050
翻译 内存池——第一章 几种常用的内存池技术
几乎所有应用程序中都会有内存的分配和释放,而频繁的分配和释放内存无疑会产生内存碎片,降低系统性能,尤其对性能要求较高的程序比较明显。下面介绍几种常见的内存池技术。 一 环形缓存 环形缓存的基本原理如图: 初始化状态(wpos_ = rpos_): 写了部分数据,同时读了一部分数据(wpos_ > rpos_):
2016-04-19 23:03:41 8695 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人