ptmalloc 是glibc的内存分配管理

tcmalloc 是google的内存分配管理模块

jemalloc 是BSD的提供的内存分配管理

写一段代码测试一下

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
extern "C"
{
#include "jemalloc.h"
}
#include <map>
#include <string>
using namespace std;
int main()
{char *buff = new char[32];
lab_beg:clock_t begin = clock();int i = 0;for(i=0;i<10000000;i++){char *buff = (char *)malloc(1024);}map<int, string> map_container;for(int i=0;i<1000000;i++){map_container.insert(make_pair(i, "hello world"));}printf("%d new char[1024] costs:%f s\n", i, (double)(clock()-begin)/CLOCKS_PER_SEC);getchar();goto lab_beg;
}
INCLUDE=
LIB_PATH=
LIBS=
FLAGS=-D_Debug -Wl,-Bstatic -DJEMALLOC_NO_RENAME
CXXFALGS=test:test.cppg++ -g test.cpp -o test -I./test_je:test.cppg++ -g test.cpp -o test_je -I./ -lgcc_s -L./ -ljemalloctest_tc:test.cppg++ -g test.cpp -o test_tc -L../../gpertools-2.1/.libs -ltcmallocclean:rm -f test

结果好像差别不大,jemalloc的结果不知道为何出不来了。。。

c++内存管理优化之ptmalloc,tcmalloc,jemalloc使用实例相关推荐

  1. EasyDarwin开源流媒体服务器内存管理优化

    -本文由EasyDarwin开源团队成员Fantasy贡献 前言 最近在linux上跑EasyDarwin发现一个很奇怪的问题,当有RTSPSession连接上来的时候,发现进程的虚拟内存映射一下就多 ...

  2. JavaScript内存管理——优化内存占用

    使用具备垃圾收集机制的语言编写程序,开发人员一般不必操心内存管理的问题.但是,JavaScript在进行内存管理及垃圾收集时面临的问题还是有点与众不同.其中最主要的一个问题,就是分配给Web浏览器的可 ...

  3. Android内存管理优化建议

    OOM(OutOfMemory) 前面我们提到过使用getMemoryClass()的方法可以得到Dalvik Heap的阈值.简要的获取某个应用的内存占用情况可以参考下面的示例( 关于更多内存查看的 ...

  4. oc45--多对象内存管理 优化

    // // main.m // Set方法的内存管理#import <Foundation/Foundation.h> #import "Person.h" #impo ...

  5. linux 内存管理优化,Linux性能优化实战 内存篇 阅读笔记

    第十五讲 基础篇:Linux内存是怎么工作的(2020.6.8) 这一讲相关的内容正好之前看csapp的时候总结了一下,可以直接贴出来作为总结了. Linux的内存工作原理,这又是一个特别大的话题.一 ...

  6. 【手游开发优化篇】cocos2d-x内存管理优化(内存是游戏的硬伤)

    2014年05月24日更新 以前的关注点都是 怎么用 根本没有往深层次追踪过.为什么这么用.今天记录下: 如果我们用的是pvr.ccz的图片 加载到内存中是根据你到处是的像素格式来渲染到ui中.如到处 ...

  7. Linux内存管理优化技巧集锦

    2019独角兽企业重金招聘Python工程师标准>>> http://os.51cto.com/art/201310/413284.htm 转载于:https://my.oschin ...

  8. Linux glibc内存管理:用户态内存分配器——ptmalloc实现原理

    文章目录 ptmalloc 设计假设 Arena Chunk Bins 内存分配.释放流程 总结 C++ STL : SGI-STL空间配置器源码剖析 Linux 内存管理 | 物理内存管理:物理内存 ...

  9. 【Linux 内核 内存管理】内存管理架构 ② ( 用户空间内存管理 | malloc | ptmalloc | 内核空间内存管理 | sys_brk | sys_mmap | sys_munmap)

    文章目录 一.用户空间内存管理 ( malloc / free / ptmalloc / jemalloc / tcmalloc ) 二.内核空间内存管理 1.内核内存管理系统调用 ( sys_brk ...

最新文章

  1. python找最大值的函数_Python 获取最大值函数
  2. Vista 下的注册 com 类失败解决方法
  3. lampp mysql 等待响应时间很长_XAMPP 的 phpMyAdmin 就会有文件大小限制、上传超时等各种问题...
  4. MySQL分组查询—添加分组前筛选
  5. SpringIOC概述
  6. 用postman在CSDN上创建博客
  7. 十三、MySQL存储过程相关知识总结 + 案例讲解(强化)
  8. 欺诈场景中的随机森林实践(基于SAS场景的实现)
  9. C++ String封装
  10. 给计算机系统打补丁,为什么我的电脑需要打补丁?
  11. 【360极速浏览器安装axure插件】
  12. 面试自我介绍和简历上的内容能不能相同?
  13. 600,000,002,200,300,400等开头的股票都是什么意思
  14. Echarts可视化 之custom自定义系列
  15. 面试侃集合 | LinkedBlockingQueue篇
  16. HDMI-USB视频采集卡使用教程
  17. Cadence PCB封装绘制
  18. c语言编程企业员工业绩评比,C语言 课程设计报告 员工销售业绩统计系统(9页)-原创力文档...
  19. linux合并优盘分区工具,mhddfs虚拟存储工具:Linux分区合并利器
  20. 表设计中冗余字段的思考

热门文章

  1. 郑州计算机技校哪个学校好,郑州十大技校排名 详细介绍
  2. 怎么让员工服从管理_面对员工抬杠,情绪负面,管理者,你该怎么管
  3. 【c++】8.map和vector容器查找、删除指定元素、emplace、insert
  4. C# 索引器使用总结
  5. 分享一套 python 试题
  6. 深度学习和浅层学习 Deep Learning and Shallow Learning
  7. 压缩感知进阶——有关稀疏矩阵
  8. Python基础教程(六):list、tuple、dictionary
  9. 编程之美-子数组的最大乘机方法整理
  10. 【caffe】使用draw_net绘制net结构