Windows 下编译使用 TCMalloc
下载
下github上面下载源码:Releases · gperftools/gperftools (github.com) 这里下载的是https://github.com/gperftools/gperftools/releases/download/gperftools-2.9.1/gperftools-2.9.1.zip
编译
解压压缩包,用vs打开工程文件gperftools.sln,编译成release版本,生成目录下得到 libtcmalloc_minimal.lib 和 libtcmalloc_minimal.dll,如果不想在发布程序的时候带上额外的dll,可以将工程 libtcmalloc_minimal 改为静态库即可。
测试
新建工程,配置工程属性,附加依赖项中增加 libtcmalloc_minimal.lib,强制符号引用增加 __tcmalloc 项,即可在工程中使用被改造后的 malloc 和 new 来申请内存空间。
简单测试代码:
#include <Windows.h>
#include <iostream>#define COUNT 1000*1000
void func()
{size_t j = 0;for (size_t i = 0; i < COUNT; ++i){if (j > 1001){j = 0;}int* pInt = (int*)malloc(i * sizeof(int));free(pInt);}
}void main()
{DWORD tStart, tEnd;tStart = GetTickCount();func();tEnd = GetTickCount();printf("%lu\\n", tEnd - tStart);getchar();
}
性能比较
使用 tcmalloc 耗时 78ms,使用原生 malloc 耗时 5078ms,耗时对比:
Windows 下编译使用 TCMalloc相关推荐
- Windows下编译Chrome V8
主要还是参考google的官方文档: How to Download and Build V8 Building on Windows 同时也参考了一些其它的中文博客: 脚本引擎小pk:SpiderM ...
- Windows下编译 Hadoop
Windows下编译 Hadoop-2.9.2 系统环境 系统: Windows 10 10.0_x64 maven: Apache Maven 3.6.0 jdk: jdk_1.8.0_201 Pr ...
- Windows下编译tensorflow-gpu教程
这两个也要看: https://zhuanlan.zhihu.com/p/29029860 https://zhuanlan.zhihu.com/p/34942873 Windows下编译tensor ...
- Windows下编译TensorFlow1.3 C++ library及创建一个简单的TensorFlow C++程序
参考:https://www.cnblogs.com/jliangqiu2016/p/7642471.html Windows下编译TensorFlow1.3 C++ library及创建一个简单的T ...
- windows下编译支持https的curl
先编译好openssl,过程详见:<windows下编译openssl> 编译好zlib,过程详见<windows下编译zlib> 1. 下载curl 官网:https://c ...
- 在Windows下编译FFmpeg详细说明
在Windows下编译FFmpeg详细说明 MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 Mi ...
- linux下find查找带有指定权限的文件(windows下编译的源代码文件)
find -type f -perm -o=x 查找用户在windows下编译的源代码文件 转载于:https://blog.51cto.com/axlrose/1357610
- lua windows下编译
从Lua5.1开始官方给出的文件只有源代码和makefile文件了,官网给出的bulid方式也是在linux平台,如果只是想找个库使用下可以到这里来下载:http://joedf.ahkscript. ...
- 在windows下编译FFMPEG-最新2009版本
转]在windows下编译FFMPEG-最新2009版本 2010-11-17 18:50 大家可以看到,此篇之前有很多个版本的"在windows下编译FFMPEG",那些都是我在 ...
最新文章
- 使用netfilter框架处理ARP报文
- shell 脚本安装Tomcat和java
- 修复cocos2dx的Label,WP8下不能换行的问题
- 缓存系统中的三座大山
- Ubuntu16.04下配置pip国内镜像源加速安装
- pythonbyte转int_Python将byte数组转换为int详解
- 我所理解的性能测试是什么?
- Linux根目录下的各个子目录的作用
- 数据库写入性能测试小工具
- Visual Studio 2015 移动跨平台开发初体验
- USB转RS232驱动怎么安装?
- 幅频特性曲线的绘制(2)
- 线性回归相关系数c语言,线性回归方程和线性相关系数计算实例
- 键盘无法输入字符和数字,但是功能键可以用
- css版权备案等居于页面底部与超出不换行可滑动
- 判断一个整数能否同时被3和5整除
- 如何对一个水杯进行测试?(详细)
- 月薪过万的运维工程师都要会干什么
- iqq for linux源代码,开源qq下载-Linux开源QQ 2012(iQQ)下载 v1.0.2 免费版-IT猫扑网
- IDEA 各种疑难杂症
热门文章
- Python简单理解1-10阶乘和运算
- oracle 建立外键 引用条件约束 不能添加,Oracle外键约束(Foreign Key)的几个操作选项...
- 大学生交友平台——项目启动篇
- 【算法】【动态规划篇】第3节:数字三角形问题
- Capture One pro 21 for Mac(RAW转换和图像编辑工具)
- Linux CPU负载性能监测
- 关于QQ和360的口水战
- python小游戏之课堂提问器
- 西邮计算机网络实验报告,西邮计算机网络实验报告内容模板-实验二-交换机基本配置...
- 知乎高赞:听说Rust要取代C++?