hipool
内存池提供高效的内存分配策略。适合于基于生命周期进行内存管理的业务场景.
内存池只有内存的分配接口,没有释放接口,所有内存都在内存池生命周期结束的时候统一释放.
C/C++中内存池至少存在以下两个挑战:
- 如何保证内存池分配的内存不会在内存池销毁后还在使用? 引用计数机制可以解决,但增大开销,降低收益.
- 如何保证内存池只在单线程下使用?增加并发保护,但增大开销,降低收益.
以上两个问题在RUST中可以在编译期间解决,安全又高效。
- 基于生命周期管理机制,可以保证内存池生命期一定大于其分配的内存的生命期.
- 内存池不支持Sync,限定只在单线程下使用.