[分享源码] 高效内存池;动态内存池|单元内存池

Posted 精易论坛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[分享源码] 高效内存池;动态内存池|单元内存池相关的知识,希望对你有一定的参考价值。


分享源码
界面截图:
是否带模块: -
备注说明: -
本帖最后由 小白熊 于 2019-8-18 14:46 编辑

介绍

模块提供2个类,包括 单元内存池、动态内存池;使用内存池能极大的提高内存分配效率,并且能相应减少系统内存碎片。
--------
单元内存池

单元内存池是以一个固定的单元长度为分配内存长度的内存池,只能分配固定长度的内存;单元内存池具有效率极高,消耗少,内存碎片少的特点。
-
动态内存池


动态内存池支持不固定长度的内存分配,相同,动态内存池也效率极高,并且此动态内存池在归还内存块时会空闲内存合并,以左右探查方式合并空闲内存,此方式极大的加速了分配内存效率,并且极大的减少了内存碎片的产生,在应用于上线环境中及其适用。
-
注意

这两个内存池只会向系统申请内存,并不会向系统释放内存,因此比如你分配了10MB的内存,然后归还给了内存池,但内存池并不会将其释放,而是加入空闲表再次分配。
(在使用中此因素基本无需考虑,因为你的程序既然能用到10MB内存,就很可能再次能用到)
-
请点击阅读原文下载附件




以上是关于[分享源码] 高效内存池;动态内存池|单元内存池的主要内容,如果未能解决你的问题,请参考以下文章

v85.01 鸿蒙内核源码分析(内存池管理) | 如何高效切割合并内存块 | 百篇博客分析OpenHarmony源码

从结构体内存池初始化到申请释放,详细解读鸿蒙轻内核的动态内存管理

从结构体内存池初始化到申请释放,详细解读鸿蒙轻内核的动态内存管理

鸿蒙内核之内存调测:动态内存池信息统计

鸿蒙内核之内存调测:动态内存池信息统计

Nginx 源码学习内存池 及 优秀案例赏析:Nginx内存池设计