码迷,mamicode.com
首页 >  
搜索关键字:内存池    ( 363个结果
nginx 学习四 内存池 ngx_pool_t 和内存管理操作
这几天在看nginx,发现凡是有内存申请的地方都有pool这个东东出现,仔细看看,原来pool的类型是ngx_pool_t,是nginx用来做内存管理的,于是就决定看看他的实现。 1 nginx内存池相关的结构体      ngx_pool_t定义在core/ngx_palloc.h ngx_palloc.c中,下面是几个主要的结构体      ngx_pool_data_t typede...
分类:其他好文   时间:2014-09-24 21:07:58    阅读次数:332
Netty4底层用对象池和不用对象池实践优化
随着JVM虚拟机和JIT即时编译技术的发展,对象的分配和回收是个非常轻量级的工作。但是对于缓冲区Buffer,情况却稍有不同,特别是对于堆外直接内存的分配和回收,是一件耗时的操作。为了尽量重用缓冲区,Netty提供了基于内存池的缓冲区重用机制。性能测试表明,采用内存池的ByteBuf相比于朝生夕灭的ByteBuf,性能高23倍左右(性能数据与使用场景强相关)。 在4.x版本中,UnpooledB...
分类:Web程序   时间:2014-09-23 20:56:15    阅读次数:425
定长内存池之BOOST::pool
内存池可有效降低动态申请内存的次数,减少与内核态的交互,提升系统性能,减少内存碎片,增加内存空间使用率,避免内存泄漏的可能性,这么多的优点,没有理由不在系统中使用该技术。内存池分类:1、不定长内存池。典型的实现有apr_pool、obstack。优点是不需要为不同的数据类型创建不同的内存池,缺点是造...
分类:其他好文   时间:2014-09-23 01:54:23    阅读次数:279
不定长内存池之apr_pool
内存池可有效降低动态申请内存的次数,减少与内核态的交互,提升系统性能,减少内存碎片,增加内存空间使用率,避免内存泄漏的可能性,这么多的优点,没有理由不在系统中使用该技术。内存池分类:1、不定长内存池。典型的实现有apr_pool、obstack。优点是不需要为不同的数据类型创建不同的内存池,缺点是造...
分类:其他好文   时间:2014-09-23 01:53:23    阅读次数:258
MemPool
腾讯笔试题,设计内存池,alloc和free都是O(1)。和LRUCache类似,这里用了一个list表示可用的空间,用一个map来记录这块内存是否已分配,这样free的时候才可能O(1)。 1 class MemPool { 2 public: 3 void init(in...
分类:其他好文   时间:2014-09-22 23:29:03    阅读次数:140
七、PYTHON 一些基础面试题目总结
1.       Python是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。 引用计数增加的情况: 1,一个对象分配一个新名称 2,将其放入一个容器中(如列表、元组或字典) 引用计数减少的情况: 1,使...
分类:编程语言   时间:2014-09-12 15:09:53    阅读次数:258
c malloc分配内存
php中的内存分配有用类似emalloc这样的函数,emalloc实际上是C语言中的malloc的一层封装,php启动后,会向OS申请一块内存,可以理解为内存池,以后的php分配内存都是在这块内存池中进行的,以至于efree,也不会向OS退回内存,而只是设置标志位,标识efree这块内存不再使用.....
分类:其他好文   时间:2014-09-10 20:57:21    阅读次数:570
服务器编程的一点心得
由于水平有限,以下仅仅是个人的一些心得,希望对新人有一点参考作用。另外由于时间关系,写得有点杂,有些点可能并不是跟服务器编程强相关的。 性能相关 1.     应用各种pool。 a)       Mempool 比如为了提高内存分配效率,可以使用Mem pool。当对应的场景简单时,可以自己定制私有的内存池管理。当内存池设计相对复杂的时候,可以考虑直接使用jemalloc、tcmallo...
分类:其他好文   时间:2014-09-06 09:48:53    阅读次数:299
C++技术问题总结-第8篇 STL内存池是怎么实现的
STL内存池机制,使用双层级配置器。第一级采用malloc、free,第二级视情况采用不同策略。这种机制从heap中要空间,可以解决内存碎片问题。 1.内存申请流程图     简要流程图如下。 2.第二级配置器说明     第二级配置器目的解决小型区块造成的内存碎片问题。     使用自由链表(free-list)技巧。主动将任何小额区块的内存需求量上调至8的倍数。如需求30,则...
分类:编程语言   时间:2014-09-04 10:31:59    阅读次数:194
splay树模版
#include #include using namespace std; typedef long long LL; const int maxn = 100010; int pre[maxn], ch[maxn][2], sz[maxn]; int root, top1; int s[maxn], top2;//内存池 LL sum[maxn]; int val[maxn], add...
分类:其他好文   时间:2014-09-03 14:58:56    阅读次数:264
363条   上一页 1 ... 31 32 33 34 35 ... 37 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!