# simple_allocator **Repository Path**: ouhasoufghasoufga/simple_allocator ## Basic Information - **Project Name**: simple_allocator - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-04 - **Last Updated**: 2025-07-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Simple Alloctor #### 介绍 1. 一种简化的类似SLAB的内存分配器,所有算法复杂度O(1) 2. 完全自包含,没有任何依赖,连标准库都不依赖 3. 通过用户界面约束使用者进行内存使用的上界分析,体现确定性 #### 思路 整体思路是将内存按照预设分成不同大小的块,每个块都是2的幂次大小 分配的时候按照申请的大小选择浪费最少的块 (Best-Fit策略) 静态配置的内存池方式,需要预估一下大概需要的块数量,会存在空间浪费,没有碎片,算法复杂度O(1),速度快 如果要添加更多的动态特性,可参考学习业界较好的分配器: 1. Linux 的 buddy / slab / slub 分配器 (mm/slab_common.c slub.c) 2. glibc 种的 ptmalloc 算法 3. google的tcmalloc (c++)