阅读: 1009 评论: 2 作者: mini数据库 发表于 2009-04-21 13:52 原文链接
最近在学习c++程序性能优化,读到内存池部分。自己动手写了一个,小小测试了一下应该没有问题。
内存块MemoryBlock声明文件
};
内存池MemoryPool声明文件
内存池MemoryPool实现文件
}
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;
}
#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专题发布
网站导航:博客园首页 个人主页 新闻 社区 博问 闪存 知识库