卓卓

记忆盒子

导航

内存池的C++实现。可能还有小bug。欢迎指正

  阅读: 1009 评论: 2 作者: mini数据库 发表于 2009-04-21 13:52 原文链接

最近在学习c++程序性能优化,读到内存池部分。自己动手写了一个,小小测试了一下应该没有问题。

内存块MemoryBlock声明文件

 

MemoryBlock.h

内存池MemoryPool声明文件

 

 

MemoryPool.h

内存池MemoryPool实现文件

 

 

MemoryPool.cpp

 

Test.cpp

#include "MemoryPool.h"
#include 
"time.h"

void performance_old()
{
    clock_t start,stop;
    start 
= clock();//开始时间
    int i,b=0;
    
for(i=0;i<=100000;i++)
    {
      
int* p=new int;
    }

    cout
<<"Without MemoryPool:"<<(double) (clock()-start)<<"ms"<<endl;//输出
}

void memory()
{
    clock_t start;
    start 
= clock();//开始时间
    MemoryPool mp(sizeof(int),10000,500);
    
int i=0;
    
for(i=0;i<=100000;i++)
    {
      
int* p=(int*)mp.Alloc();
    }
  
    cout
<<"Using MemoryPool:"<<(double)(clock()-start)<<"ms";//输出
}
int main()
{
    performance_old();
    memory();
//内存池
    system("pause");
        
return 0;
}

  发表评论


新闻频道:百度少儿搜索悄然下线

推荐链接:Windows 7专题发布

网站导航:博客园首页  个人主页  新闻  社区  博问  闪存  知识库

posted on 2009-04-21 13:52  卓卓  阅读(251)  评论(0编辑  收藏  举报