C++内存池实现(三)

2015-02-04 13:53:00 · 作者: · 浏览: 100
结果:
分单线程和多线程进行测试,重复的内存分配与释放在实际使用中是不太可能的,为了模拟实际使用,通过随机数来确定分配内存大小,同时也通过随机数来确定分配与释放操作。在测试过程中限制最大分配大小为1024,目的是为了测试小内存块的分配情况对比。


内存池单线程测试结果


内存池多线程测试结果


进行多线程测试主要是测试多线程运行下,加锁给内存分配带来的影响,因此为了排除CPU的影响,测试采用的机器为16盒,16G内存的Linux服务器。


具体配置如下:


Intel(R) Xeon(R) CPU? ? ? ? ? E5630? @ 2.53GHz


stepping? ? ? ? : 2
cpu MHz? ? ? ? : 2527.084


cache size? ? ? : 12288 KB


------------------------------分割线------------------------------


C语言梳理一下,分布在以下10个章节中: