内存优化综述

内存优化综述

Posted by vxiaozhi on January 12, 2025

内存优化综述

任何一个复杂的系统内存分配释放的最佳策略一定是: 按照其特性进行内存分类管理。 一般来说可将其特性分为以下几类:

  • 对象池(Object Pools)
  • 延迟销毁(Lazy Deletion)
  • 动态生成(Dynamic Generation)

为什么说这种策略是最优的呢, 举例来说:

如果有大量相同大小的对象需要分配存储空间, 那么通过 空闲链 的算法(即预先创建一定数量的对象并存储在池中,通过两个双向链表快速分配和回收对象),这种方式一定比任何通用的内存分配算法要快。

如果内存特性具有层级特点,比如tcp连接,http请求等,那么采用内存池算法(层生命周期开始时,分配一个内存池,在对应的生命周期结束的时候会摧毁整个内存池,把分配的内存一次性归还给操作系统),这种方式也一定比其它任何通用的内存分配算法要快。

参考