Skip to content

实现内存池模块

Pre-release
Pre-release

Choose a tag to compare

@alany-dev alany-dev released this 15 Apr 07:39
· 25 commits to main since this release

Features

  • 新增 ThreadCache、CentralCache 和 PageCache 类
  • 实现内存分配和回收机制
  • 添加内存池性能测试,包括小对象分配、多线程测试和混合大小测试
  • 优化 fiber 栈分配,使用内存池替代 malloc

NOTE

  • 多线程情况下,表现良好
  • 其他情况,表现一般(不知道是为什么)

TODO待优化

  • 锁优化:CentralCache使用了atomic_flag作为自旋锁,可以考虑使用更高效的锁实现,例如读写锁或无锁数据结构,以减少竞争。
  • 内存回收机制:可以考虑添加垃圾回收机制,定期检查长时间未使用的内存块并归还给系统。
  • Span管理优化:PageCache中的Span管理可以使用更高效的数据结构,例如哈希表或跳表,以加速查找和合并操作。
  • 缓存局部性优化:考虑内存布局,使频繁访问的数据在缓存中更容易命中。
  • 内存分配策略优化:基于实际使用模式调整BatchNum和内存回收阈值。