`
mryufeng
  • 浏览: 969799 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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用这个算法个人感觉体现这个系统的成熟。
分享到:
评论
1 楼 xushiweizh 2007-10-08  
认同。C++的boost::pool<>以2倍的增长速度,我觉得有点费了,看了这个很受教。

相关推荐

    Erlang进程模型学习PPT

    Erlang进程模型特点 一个进程可以创建数以万计的轻量级进程 每个轻量级进程仅仅完成单一功能 一个复杂的功能可以由多个轻量级进程协同完成 当遇到file或socket等阻塞的io时, 调用的轻量级进程被阻塞,整个进程不...

    Erlang 微分进化算法

    使用Erlang开发的微分进化算法。Erlang是一种函数式编程语言,非常适合于开发并行、分布式的应用

    java php python erlang 千万级内存数据性能比较

    java php python erlang 千万级内存数据性能比较,

    erlang整理的一些心得和lunix查看cpu和内存信息的方法

    erlang整理的一些心得和lunix查看cpu和内存信息的方法

    Erlang进程池WorkerPool.zip

    Worker Pool 是一个Erlang进程池,其中的工作进程是Erlang的gen server模式进程。Worker Pool的目标是非常简单: 提供以透明的方式管理一批工作进程并且对分配到池中的任务尽最大努力实现负载均衡。一个 Echo 服务器...

    erlang 中进程

    关于erlang并发开发的一些例子,便于学习supersivor

    erlang角色寻路bresenham算法

    假设场景网格如下 数字代表的是坐标 11代表的是x1,y1 46代表的是 x4,y6 11, 12, 13, 14, 15, 16, 17, 18, 19 21, 22, 23, 24, 25, 26, 27, 28, 29 33, 32, 33, 34, 35, 36, 37, 38, 39 ...直接看代码吧erlang版

    Erlang虚拟机内存管理

    Erlang核心开发者Lukas Larsson在2014年3月份Erlang Factory上的一个演讲详细介绍了Erlang内存体系的原理以及调优案例 根据siyao zheng博客上听写的资源进行的翻译,大致只翻译了80%但核心部分已经完整,希望对大家...

    Erlang实现遗传算法.docx

    Erlang实现遗传算法,非常详细介绍了算法,这是一个非常难得一见的通俗易懂的好书

    Erlang项目内存泄漏分析方法

    主要介绍了Erlang项目内存泄漏分析方法,本文讲解了分析方法、分析流程并找到问题原因和解决方法,需要的朋友可以参考下

    introducing erlang

    ● 并发性 - Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制。 ● 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点) ● 健壮性 - Erlang具有多种基本的...

    Erlang内存管理.pdf

    erlang内存管理

    evum:["Linux VM", ["Erlang 进程", ["Erlang VM"]]]

    虽然 Linux VM 像任何其他进程(内存、系统进程、磁盘)一样拥有自己的状态,但与外部世界的所有 I/O 都是通过 Erlang VM(当前工作:网络、系统控制台)作为消息发送的。 要求 sudo apt-get install user-mode-...

    erlang编程 Introducing Erlang

    erlang入门电子书 erlang编程 Introducing Erlang,作者Simon.St.Laurent

    Erlang并发编程,Erlang程序设计,Erlang中文手册

    使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进程间上下文切换对于Erlang来说仅仅 只是一两个环节,比起C程序的线程切换要高效得多得多了。 使用Erlang来编写分布式应用...

    erlang-18.3.4.7-1.el6.x86_64.rpm

    ●外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传送机制。 ●Fail-fast(中文译为速错),即尽可能快的暴露程序中的错误。 ●面向并发的编程(COP concurrency-oriented programming) ...

    Erlang安装手册

     ●外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传送机制。  ●Fail-fast(中文译为速错),即尽可能快的暴露程序中的错误。  ●面向并发的编程(COP concurrency-oriented ...

    erlang_版本24.3.4.4

    erlang 安装包

    Erlang及其应用Erlang及其应用

    Erlang及其应用Erlang及其应用Erlang及其应用

    erlpool:基于ETS的Erlang进程的Erlang循环负载均衡器

    基于ETS的Erlang进程的Erlang循环负载均衡器 erlpool做什么 Erlpool是用于Erlang进程的循环负载均衡器,主要用于与数据库连接之类的事情。 与和相比, erlpool非常简单且很小(〜100 LOC),并且没有关于工人的假设...

Global site tag (gtag.js) - Google Analytics