Logic, Analysis, and Computation

宠辱不惊 静观窗前花开花落 去留无意 闲看天上云卷云舒

导航

<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

公告

如需转载, 请注明出处。

常用链接

留言簿

随笔分类

随笔档案

文章档案

I/O performance

搜索

最新评论

学习STL Day 1: memory allocation

从今天开始, 我就要学习STL了, 希望自己能够坚持, 不要半途而废, 自己就是太多的半途而废了。 废话少说, 还是从侯捷的《STL 源码剖析》开始吧。

计划两天把第2章看完。第二章的主要内容是STL memory allocator, 其中比较有意思的部分是SGI default memory allocator 的设计,其思路是当所需memory小于128bytes时, 为了降低overhead, SGI STL 采用了memory pool的机制。 

为了有个比较, 今天的工作是,当memory request 小于128 bytes, 检测一下malloc/free 的performance,明天我将测试一下SGI STL memory allocator的性能。

实验的步骤很简单, 固定memory allocation的次数(1000, 10000), 依次增加memory request 的大小, 从8 bytes -- 128 bytes, 看看malloc 和 free 总共所需的时间。

平台如下:
CentOS 5.2 Linux kernel 2.6.18-92.e15
CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz
Memory: 2GB

图一, 是1000次 malloc/free 的时间 (毫秒)



图二, 是10000次 malloc/free 的时间 (毫秒)



好了, 明天把SGI STL memory allocator 完成, 然后看看, performance 到底有多少的提高。 希望有100%。 (哈哈)

10:57:58 PM Sunday, May 10, 2009

posted on 2009-05-11 12:01 小学毕业生 阅读(402) 评论(0)  编辑 收藏 引用 所属分类: STL Study


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理