jac*_*hab 13 c++ memory-management object-pooling
应该何时更喜欢对象池而不是动态分配的对象?
我需要每秒创建和销毁数千个对象.它本身是否足以决定支持对象池?
谢谢.
是的,这足以决定支持对象池.
引用Boost文档
我什么时候应该使用Pool?
当存在大量小对象的分配和释放时,通常使用池.另一种常见用法是上面的情况,其中许多对象可能会从内存中丢失.
请参阅Boost Pool库
小智 5
一般来说,如果您每秒创建和销毁数千个对象,您至少应该使用对象池。
您可以使用纯粹分配特定大小的对象的自定义分配器。覆盖 new 并专门为您的对象预先分配堆。使用位字段和数组相对简单。
基本上,如果对象较小,则自定义堆的内存效率更高(相对于小对象大小,堆开销相当高);其速度更快;它可以防止堆碎片;而且更容易调试。
| 归档时间: |
|
| 查看次数: |
9354 次 |
| 最近记录: |