浏览 2913 次
锁定老帖子 主题:Erlang 进程堆内存增长算法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-27
* Heap sizes start growing in a Fibonacci sequence. * * Fib growth is not really ok for really large heaps, for * example is fib(35) == 14meg, whereas fib(36) == 24meg; * we really don't want that growth when the heaps are that big. */ erlang的process heap堆大小默认是233 等于fib(11), 用fib算法的目的是后续的heap增长会比较慢 避免内存的浪费。 大多数的系统都是以上为2倍数增长的。有人对std:string做过统计分析,最后得出一个结论是 1.5 是比较合适的数字。 erlang用这个算法个人感觉体现这个系统的成熟。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-10-08
认同。C++的boost::pool<>以2倍的增长速度,我觉得有点费了,看了这个很受教。
|
|
返回顶楼 | |