project
am brother
这个作者很懒,什么都没留下…
展开
-
【项目】TCMalloc
高并发内存中间件(TCMALLOC)高并发内存中间件是一个在多线程并发条件下进行内存申请的程序。是谷歌公司TCMAlloc的学习致敬,再简化版本模拟实现。高并发内存中间件这个项目分为三个层次,这三个层次分别从上到下依次是ThreadCache、CentralCache、和PageCache。依靠三个层次的均衡调度来实现多线程下的内存申请与释放。该项目解决的问题:解决内存碎片的问题(外碎...原创 2020-05-07 20:30:37 · 549 阅读 · 0 评论 -
【项目】cpp-httplib库的原理
cpp-httplib 是一个c++封装的http库,使用这个库可以在windows平台下完成http客户端、http服务端的搭建httplib的处理流程:最简单的http客户端搭建组织http协议格式的请求数据搭建tcp客户端发送组织好的http请求数据等待服务端响应,接收响应数据对响应数据的解析最简单的http服务端搭建搭建一个最简单的tcp服务器等待接收客户端发送的...原创 2020-02-11 21:30:08 · 19542 阅读 · 18 评论 -
TCMalloc详细图解
TCMalloc 是Google 开发的内存分配器,在不少项目中都有使用,例如在Golang中就是用了类似的算法进行内存分配。它具有现代化内存分配器的基本特征:对抗内存碎片、在多核处理器能够scale。并且它的内存分配速度是glibc2.3中实现的malloc的数倍。TCMalloc的著名 是由于它的性能是在是太高了如何分配定长的记录首先是基本问题,如何分配定长的记录?例如,我们有一个Pag...转载 2019-12-07 21:36:15 · 975 阅读 · 0 评论 -
关于Ptmalloc的简单介绍
Ptmalloc的简单介绍Linux中malloc的早期版本是由Doug Lea实现的,它有一个重要问题就是在并行处理时多个线程共享进程的内存空间,各线程可能并发请求内存,在这种情况下应该如何保证分配和回收的正确和高效。Wolfram Gloger在Doug Lea的基础上改进使得Glibc的malloc可以支持多线程——ptmalloc,在glibc-2.3.x.中已经集成了ptmalloc2...原创 2019-12-07 15:51:16 · 660 阅读 · 0 评论 -
gperftools性能测试工具的简单介绍
gperftools性能测试工具的介绍在google的高并发线程池的源码中,就存在有gperftools的性能测试工具。在google高并发线程池中在自身的内存管理malloc/free的时候就使用到了tcmalloc,并且tcmalloc组件出自google开源的gperftools性能分析集,并且=现在的很多场景都是基于tcmalloc带来的好处,例如tcmalloc用于提升mysql等等组...原创 2019-12-06 17:15:26 · 1065 阅读 · 0 评论