我写了一个兼容C89的小型固定大小对象池,用于在需要可预测性能并避免反复malloc/free调用时使用。
它通过预分配一个对象块并在常数时间(O(1))内使用简单的push/pop风格API来重用它们。目标是减少在对象频繁创建和销毁的系统中堆碎片和分配开销。
关键属性:
- 兼容C89
- 固定大小的预分配池
- O(1)的分配/释放
- 初始化后无需对象堆的颠簸
- 轻量级,依赖性无关
使用场景包括像游戏对象(粒子,实体)、网络缓冲区或嵌入式/实时系统这样的东西,其中分配成本需要稳定。
你们想法是什么?
我写了一个兼容C89的小型固定大小对象池,用于在需要可预测性能并避免反复malloc/free调用时使用。
它通过预分配一个对象块并在常数时间(O(1))内使用简单的push/pop风格API来重用它们。目标是减少在对象频繁创建和销毁的系统中堆碎片和分配开销。
关键属性:
使用场景包括像游戏对象(粒子,实体)、网络缓冲区或嵌入式/实时系统这样的东西,其中分配成本需要稳定。
你们想法是什么?
评论 (0)