性能优化
jim123
这个作者很懒,什么都没留下…
展开
-
栈式内存分配器
前段时间在调查内存池实现时, 无意中看到了以下的链接: http://eli.thegreenplace.net/2008/10/17/memmgr-a-fixed-pool-memory-allocator/ 这种方案很新潮, 所有的内存分配单元都由一个数组(栈空间)分配,没有其他的系统调用,移植性非常好。 适合情景:知道程序运行中,分配原创 2014-03-28 10:39:05 · 817 阅读 · 0 评论 -
内存管理的思考
鉴于C/C++动态分配释放内存的效率。 有尊严和明智的程序员往往采用自己的方案进行内存的管理。 场景: 1. 数据的存储和使用是顺序的(FIFO模式) 例如: 网络数据的传输, 音视频的编码等。 解决方案: 环形缓冲区(ringbuffer) 2.数据的存储和使用是随机的 例如: 图片的缓冲( 图片的存储和使用时随机的) 解决方原创 2014-02-17 14:58:41 · 721 阅读 · 0 评论 -
圆形缓冲区
使用 ring buffer 的优势是内存使用率很高,不会造成内存碎片,几乎没有浪费(比如传统动态内存分配需要的 cookie)。业务处理的同一时间,访问的内存数据段集中。可以更好的适应不同系统,取得较高的性能。内存的物理布局简单单一,不太容易发生内存越界、悬空指针等 bug ,出了问题也容易在内存级别分析调试。做出来的系统容易保持健壮。 参考网址: 1)http://zh.wik原创 2013-09-13 11:16:11 · 1284 阅读 · 0 评论