前言 对于一个高性能的服务器程序来说,内存的使用非常重要.C++提供new/delete来管理内存的申请和释放,但是对于小对象来说,直接使用new/delete代价比较大,要付出额外的空间和时间,性价比不高.另外,也需要避免多次申请和释放引起的内存碎片.一旦碎片到达一定程度,即使剩余内存足够用,但由于缺乏足够的连续的空闲空间,导致内存不够用的假象. C++ STL为避免内存碎片实现了一个复杂的内存池,leveldb则没有那么复杂,只是实现了一个“一次性”内存池Arena.leveldb并不是所有