/*
* 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用这个算法个人感觉体现这个系统的成熟。
* 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用这个算法个人感觉体现这个系统的成熟。