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

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

内存块MemoryBlock声明文件

 

MemoryBlock(){}

};


内存池MemoryPool声明文件

 

 

};

内存池MemoryPool实现文件

 

 

NULL;
}

 

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;
}

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

  发表评论


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

推荐链接:Windows 7专题发布

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

相关文章:

  • 2021-12-03
  • 2022-12-23
  • 2022-12-23
  • 2021-05-28
  • 2022-12-23
  • 2021-05-18
  • 2022-12-23
猜你喜欢
  • 2022-01-13
  • 2022-12-23
  • 2021-09-05
  • 2021-07-31
  • 2021-08-08
相关资源
相似解决方案