使用Tcmalloc的性能测试结果报告,比malloc有大幅度提高
2014-04-15 21:18
597 查看
使用Tcmalloc的性能测试结果
今天研究了一下tcmalloc的使用,感觉效果惊人,很是激动,特此写出来以飨读者。关于tcmalloc的介绍,参考文章:TCMalloc:线程缓存的Malloc,是从google官方网站翻译出来的。
Tcmalloc的使用很简单,只需要-ltcmalloc_minimal即可。
测试代码:
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <time.h>
#include <sys/time.h>
#include <pthread.h>
#define MAX_COUNT 1000*1000
void fun(int i)
{
char* ptr = (char*)malloc(i);
free(ptr);
}
void* fun_thread(void*)
{
int i = 0;
int j = 1;
while(i++<MAX_COUNT)
{
j ++;
fun(j);
if ( j>1024 )
j = 1;
}
}
#define MSECOND 1000000
int main()
{
struct timeval tpstart,tpend;
float timeuse;
gettimeofday(&tpstart,NULL);
pthread_t _deliver_t;
pthread_create(&_deliver_t, NULL, fun_thread, NULL);
int i = 0;
int j = 1;
while(i++<MAX_COUNT)
{
j ++;
fun(i);
if ( j > 1024 )
j = 1;
//usleep(1);
}
gettimeofday(&tpend,NULL);
timeuse=MSECOND*(tpend.tv_sec-tpstart.tv_sec)+tpend.tv_usec-tpstart.tv_usec;
timeuse/=MSECOND;
printf("Used Time:%f\n", timeuse);
return 0;
}
测试结果很是诱人:
[root@localhost test]# g++ 1.c -o 1 -lpthread
[root@localhost test]# ./1
Used Time:5.336594
[root@localhost test]# g++ 1.c -o 1 -lpthread -ltcmalloc_minimal
[root@localhost test]# ./1
Used Time:0.208050
提高了几十倍!当然测试的条件不是很完整,但是可以肯定tcmalloc效率提高了很多
今天研究了一下tcmalloc的使用,感觉效果惊人,很是激动,特此写出来以飨读者。关于tcmalloc的介绍,参考文章:TCMalloc:线程缓存的Malloc,是从google官方网站翻译出来的。
Tcmalloc的使用很简单,只需要-ltcmalloc_minimal即可。
测试代码:
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <time.h>
#include <sys/time.h>
#include <pthread.h>
#define MAX_COUNT 1000*1000
void fun(int i)
{
char* ptr = (char*)malloc(i);
free(ptr);
}
void* fun_thread(void*)
{
int i = 0;
int j = 1;
while(i++<MAX_COUNT)
{
j ++;
fun(j);
if ( j>1024 )
j = 1;
}
}
#define MSECOND 1000000
int main()
{
struct timeval tpstart,tpend;
float timeuse;
gettimeofday(&tpstart,NULL);
pthread_t _deliver_t;
pthread_create(&_deliver_t, NULL, fun_thread, NULL);
int i = 0;
int j = 1;
while(i++<MAX_COUNT)
{
j ++;
fun(i);
if ( j > 1024 )
j = 1;
//usleep(1);
}
gettimeofday(&tpend,NULL);
timeuse=MSECOND*(tpend.tv_sec-tpstart.tv_sec)+tpend.tv_usec-tpstart.tv_usec;
timeuse/=MSECOND;
printf("Used Time:%f\n", timeuse);
return 0;
}
测试结果很是诱人:
[root@localhost test]# g++ 1.c -o 1 -lpthread
[root@localhost test]# ./1
Used Time:5.336594
[root@localhost test]# g++ 1.c -o 1 -lpthread -ltcmalloc_minimal
[root@localhost test]# ./1
Used Time:0.208050
提高了几十倍!当然测试的条件不是很完整,但是可以肯定tcmalloc效率提高了很多
相关文章推荐
- 提高性能测试结果的可信程度
- Redis使用TCMalloc提高内存分配性能
- 使用GooglePerformanceTools--tcmalloc提高MySQL服务器性能
- 使用Google的开源TCMalloc库,提高MySQL在高并发情况下的性能
- 使用Google的开源TCMalloc库,提高MySQL在高并发情况下的性能
- 使用Google的开源TCMalloc库,提高MySQL在高并发情况下的性能
- 性能测试结果分析报告
- Mysql使用Tcmalloc的性能测试-
- 使用apache ab对nginx+varnish+tomcat进行压力测试的结果报告
- 使用fio测试磁盘I/O性能报告
- mysql性能测试(使用TCMalloc前后对比)
- 【Loadrunner使用】-性能测试结果分析(五)
- 使用Google的开源TCMalloc库,提高MySQL在高并发情况下的性能[修改]
- 第十五讲、jmeter性能测试结果分析与报告
- 画动画圆之使用 QT4.6/C#/MFC/DELPHI/VB 开发的程序性能测试报告
- 画动画圆之使用 QT4.6/C#/MFC/DELPHI/VB 开发的程序性能测试报告
- 如何在Visual Studio2010下做性能测试(4)——结果分析及测试报告
- 使用Google的开源TCMalloc库,提高MySQL在高并发情况下的性能
- 性能报告——使用AOP与DYNAMICProxy的orm性能测试
- 使用Google的开源TCMalloc库,提高MySQL在高并发情况下的性能