我写了一个兼容C89的小型固定大小对象池,用于在需要可预测性能并避免反复malloc/free调用时使用。

它通过预分配一个对象块并在常数时间(O(1))内使用简单的push/pop风格API来重用它们。目标是减少在对象频繁创建和销毁的系统中堆碎片和分配开销。

关键属性:

  • 兼容C89
  • 固定大小的预分配池
  • O(1)的分配/释放
  • 初始化后无需对象堆的颠簸
  • 轻量级,依赖性无关

使用场景包括像游戏对象(粒子,实体)、网络缓冲区或嵌入式/实时系统这样的东西,其中分配成本需要稳定。

你们想法是什么?