[ANN]CEAN repo mirror
鉴于大家访问 cean.process-one.net 的 repo 巨慢。
利用手头的服务器资源,给大家建立了一个 repo 的 mirror 。在这里。
希望能方便大家对于 cean 工具的使用。
什么是 CEAN ? — Comprehensive Erlang Archive Network
简单来说, cean 就是 erlang package management 。从 erlang 本身到 yaws/ejabberd/mnesia/… 几乎所有的 erlang 应用包,随时随地就可以安装,升级,卸载。
简单上手,请参考erlang超快速安装。
【转】Erlang中的Module级别热部署
原文地址:avindev.javaeye.com
原文作者:AvinDev
Java里面要实现Code Replacement,也就是什么热部署,通常是使用ClassLoader机制。不久前看到了一篇Google的Paper,里面讲解的C++代码热部署更为复杂。
在Erlang里面,实现Code Replacement其实很简单,最方便的方法可以参考 《Erlang Reference Manual》的12.3:
- -module(m).
- -export([loop/0]).
- loop() ->
- receive
- code_switch ->
- m:loop();
- Msg ->
- …
- loop()
- end.
这种简单的HelloWorld例子,不能满足我的疑问。在一个更加复杂的应用里面,比如有多个Process,部分Process的代码更换后,其他没有更新的Process会怎样呢?下面做个试验。
【转】读《谈分布式网络程序设计》,思Erlang
原文地址:avindev.javaeye.com
原文作者:AvinDev
163的zhousen写了几篇文章,《谈分布式网络程序设计》
第一篇,第二篇,第三篇
简单谈谈感想。
1.网络数据的收发的设计方式
文中说:
使用select,一个线程专门负责所有的连接的接受和发送
通常在高性能的服务器程序 则使用的是第二种方式,占系统资源少,而且性能也很好。此外,流水线技术是目前cpu中最基本的技术之一,若将此用于网络程序设计,也可以大幅提高性能。 它在网络程序中的表现实际上就是使用队列,若请求的处理过程分好几步,那么在每一步都设置一个队列,性能比将大大提升。cpu的流水线技术的原因在于各个 部件都处于繁忙状态,所以cpu单位时间内处理性能提高。而网络程序采用流水线技术(队列)则能尽量促使各个节点处于繁忙状态,从而提高程序的性能
这种做法,目前我从事的项目也在使用,将逻辑转换为大量的Task,然后放在多个线程中以流水线方式执行,以此充分利用CPU。但是这种方法存在问 题,就是将对于每个连接,本应按照同步进行处理的逻辑,拆成了异步执行,在调错方面存在难度,而且程序也复杂了难于理解。如果使用Erlang,大可以一 个Process对应于一个连接,由于Erlang的进程调度都是在用户态完成,因此能够最大化使用CPU,而且调试等也是很方便。
Erlang/Yaws超快速安装
gashero 贡献了一篇 erlang 的“超快速入门”,我也来贡献一篇“erlang超快速安装”,买一送一,附赠yaws,超值惊喜 :D。
ok,广告 blah 到此结束,口水留到下篇再说,让我们超快速的开始:
在linux平台“从头”安装 erlang-otp 是一个冗长乏味的过程,11.xM 的源代码文件倒还真不算大,安装命令也很常见以及非常简单:
./configure –prefix
make install
虽说只有这两句,可在你输入命令之后(以及之间),陪伴你的只有漫漫无尽的等待。视机器快慢,20到40分钟不等,实在可以说是一件“居家旅行谋杀生命”的必备药品。
现在好了,我们有了 CEAN ,当当当当……。安装过程于是简化为:
Erlang超快速入门
日期:2007-04-06
目录
- 1 开始使用erlang
- 2 使用Erlang作为计算器
- 3 编辑前面的表达式
- 4 编译你的第一个程序
- 5 深入了解Erlang
Ten Questions with Sanjiv Shah(OpenMP)以及 Blah Blah
ThinkingParallel 发布了 Interviewing the Parallel Programming Idols 系列的第三部—— Ten Questions with Sanjiv Shah about Parallel Programming and OpenMP 让我对于并行计算的其他解决方案(这次是OpenMP)有了一些了解。
下面是 Blah Blah。
让WEB程序员FT的5大需求
正如我之前提到过的,俺这个“老人家”,做web开发,已经好多年了。
回想起来,这些年的开发之中,可能大家都曾经碰过一些在技术人员看来,极度“BT” 的需求。实话实说,其实,这些需求虽然天马行空,惊世骇俗,可仔细想来,如果能够实现,也挺有意思的。
简单回顾一下这些好玩的需求,大概也是一件有意思的事情吧。
当Erlang遇上C++
既然上一篇八卦谈到了Erlang在爱立信里面的地位(C++至高,B教主满塞),这里就介绍一个PPT
《Comparing C++ and Erlang for Motorola Telecoms Software》http://www.erlang.se/euc/06/proceedings/1600Nystrom.ppt ,有兴趣的下载看看
里面以一个纯C++,一个纯Erlang和一个C++ Erlang混杂的系统进行对比和测量,有丰富的图表
RQ4: Performance
*Time:
Max. throughput at 100% QoS:
Pure Erlang DM is twice as fast as C++ DM
Erlang/C is ½ as fast as C++ DM , but still exceeds throughput requirements
Roundtrip times
Pure Erlang DM is three times as fast as C++ DM
Erlang/C is between 26% and 50% slower as C++ DM
*Space:
Pure Erlang and Erlang/C both have 170% greater memory residency due to (fixed size) 5Mb runtime system
八卦一下以表支持
Amstrong在Ericsson资助的实验室里搞的,差不多搞了有10年吧,用来做“下一代交换机”的。
可惜Ericsson是C++的天下,而且不是一个软件公司,要不Erlang的命运可能就不同了,Amstrong可能跟Gosling差不多或者要更强,今天。
用Erlang搞的系统至今仍然号称是“有史以来最稳定最强壮的”,至少产品手册里面是这么说的:)
Erlang对商用数据库的支持至今还是commercial的。或者谁能搞一个EDBC出来:)
【转】Erlang大全
http://www.cbel.com/erlang_programming_language/
这个站点里面提供了众多Erlang相关的资源索引


Recent Comments