实现内存池模块
Pre-release
Pre-release
Features
- 新增 ThreadCache、CentralCache 和 PageCache 类
- 实现内存分配和回收机制
- 添加内存池性能测试,包括小对象分配、多线程测试和混合大小测试
- 优化 fiber 栈分配,使用内存池替代 malloc
NOTE
- 多线程情况下,表现良好
- 其他情况,表现一般(不知道是为什么)
TODO待优化
- 锁优化:CentralCache使用了atomic_flag作为自旋锁,可以考虑使用更高效的锁实现,例如读写锁或无锁数据结构,以减少竞争。
- 内存回收机制:可以考虑添加垃圾回收机制,定期检查长时间未使用的内存块并归还给系统。
- Span管理优化:PageCache中的Span管理可以使用更高效的数据结构,例如哈希表或跳表,以加速查找和合并操作。
- 缓存局部性优化:考虑内存布局,使频繁访问的数据在缓存中更容易命中。
- 内存分配策略优化:基于实际使用模式调整BatchNum和内存回收阈值。