ChinaUnix.net
相关文章推荐:

C 内存池 博客

内存(Memory Pool)是一种内存分配方式。 通常我们习惯直接使用new、malloc等API申请分配内存,这样做的缺点在于:由于所申请内存块的大小不定,当频繁使用时会造成大量的内存碎片并进而降低性能。
  内存则是在真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存中分出一部分内存块,若内存块不够再继续申请新的内存。这样做的一个显著优点是尽量避免了...

by tianxwkay - 移动操作系统 - 2011-12-20 09:44:10 阅读(679) 回复(0)

相关讨论

引言 本书主要针对的是 C++ 程序的性能优化,深入介绍 C++ 程序性能优化的方法和实例。全书由 4 个篇组成,第 1 篇介绍 C++ 语言的对象模型,该篇是优化 C++ 程序的基础;第 2 篇主要针对如何优化 C++ 程序的内存使用;第 3 篇介绍如何优化程序的启动性能;第 4 篇介绍了三类性能优化工具,即内存分析工具、性能分析工具和 I/O 检测工具,它们是测量程序性能的利器。 在此我们推出了此书的第  2 、 6  章供大家在线浏览。...

by yanghoo - Linux文档专区 - 2009-03-19 09:02:15 阅读(593) 回复(0)

linux内核引入内存作为动态内存的储备,一般将内存处理的内存单元看作"内存元素"。如果这个元素是slab对象时,alloc和free方法一般由mempool_alloc_slab()和mempool_free_slab()函数实现,它们只是分别调用kmem_cache_alloc()和kmem_cache_free()函数。我写了一个测试程序,给memory pool的预分配对象设置个数为20,由于mempool_create()最终调用的是kmem_cache_alloc()结果那个slab分配器的cache少了20个object。memory pool有...

by embeddedlwp - 内核源码 - 2011-10-05 11:26:24 阅读(2392) 回复(5)

本帖最后由 印随 于 2010-07-09 14:41 编辑 这两天看Snort代码,从中扒出来的内存代码, 大家实现的时候可以参考一下 SNORT 2.8.5

by 印随 - C/C++ - 2013-07-10 09:15:22 阅读(5026) 回复(18)

附加为简单内存实现,在linux下测试通过

by lugj - Linux环境编程 - 2014-10-29 23:15:44 阅读(4772) 回复(14)

请教各位 你们写的内存,比直接向系统malloc,能快多少~ 加上线程锁之后的结果 slab alloc-free result : ExecTimes : 21 msecs , 982 usecs . common alloc-free result : ExecTimes : 30 msecs , 218 usecs . 以上是我自己写的内存测试的结果。

by zsniper - C/C++ - 2008-01-11 19:26:43 阅读(1931) 回复(3)

本帖最后由 cool2003_cu 于 2013-01-12 09:52 编辑 简单的内存实现 之前实现得内存次 存在bug 删除代码附件了,欢迎大家交流内存次技术

by cool2003_cu - 嵌入式开发 - 2012-11-27 18:45:12 阅读(1131) 回复(0)

开发的服务器程序 使用了stl 在用valgrind检测的时候 发现有很多 still reachable: 137,176 bytes in 40 blocks. google了一下问题的产生和解决: 是由于stl的内存没有及时还给os造成的 不算严格内存泄露 解决: My program uses the C++ STL and string classes. Valgrind reports 'still reachable' memory leaks involving these classes at the exit of the program, but there should be none. First of all: relax, i...

by senic - C/C++ - 2008-06-25 18:30:37 阅读(5324) 回复(1)

2007 年 11 月 29 日 本章首先简单介绍自定义内存性能优化的原理,然后列举软件开发中常用的内存的不同类型,并给出具体实现的实例。 引言 本 书主要针对的是 C++ 程序的性能优化,深入介绍 C++ 程序性能优化的方法和实例。全书由 4 个篇组成,第 1 篇介绍 C++ 语言的对象模型,该篇是优化 C++ 程序的基础;第 2 篇主要针对如何优化 C++ 程序的内存使用;第 3 篇介绍如何优化程序的启动性能;第 ...

by lc0060305 - Linux文档专区 - 2008-06-23 11:53:45 阅读(1114) 回复(0)
by epegasus - C/C++ - 2009-04-02 17:44:35 阅读(5689) 回复(28)

最近看了一些文档关于设计高性能服务端程序,大概就提到epoll和内存,这两个是最重要的保证,自己也没有接触过内存,所以尝试写了一个内存,看看这种写法理解对不?希望得到大家的批评和指导,谢谢先。[code]#ifndef _MEMPOOL_H_ #define _MEMPOOL_H_ #include struct memnode{ short size; char* addr; bool bUsed; memnode* next; memnode() { addr = NULL; bUsed = false; next = NULL; si...

by totopper - C/C++ - 2013-07-07 23:13:38 阅读(1195) 回复(2)