- 0
- 0
- 约8.16千字
- 约 8页
- 2019-07-20 发布于湖北
- 举报
通用高效内存池的设计要点:
1)快速分配;
2)快速回收;
3)空间利用率高。
4)类型独立(最好)。
不打算对比各种内存分配器的优劣,主要是介绍一最近实现的特定类型的通用高效C++内存池。
特点:
1)基于共享内存; -- 不会因为进程挂掉而丢失数据。
2)快速分配; -- 在内存池接近满时,效率不高。
3)快速回收;-- 常数。
4)空间利用率高 -- 利用bit标识内存块使用与否 (《C++设计新思维》的小对象分配器不占用额外空间!!)
已知缺点:
1)在内存池接近满时,分配效率不高。
2)非类型独立。每一种类型需要一特定内存池。
3)非线程安全,需要使用者自行保证。
?
1 #ifndef __Memory_POOL__H__
2 #define __Memory_POOL__H__
3
4 #include string
5 #include stdio.h
6 #include stdlib.h
7 #include time.h
8 #include sys/time.h
9 #include sys/shm.h
10
11 #include bitstring.h
12 #include utilfunc.h
13
14
15 templateclass T
16 struct MemPoolHea
原创力文档

文档评论(0)