Ring benchmark:创建N个进程,把它们组合成环状;把一条消息在环上传递M圈,这样总共有N*M次消息传递。对于不同的N和M值,记录所需的时间。
+ erl -noshell -s ring benchmark 3000 1000 -s init stopBenchmark starting: ring with 3000 nodes, send message around 1000 timesBenchmark doneTime=750000 (827000) microseconds
第二问:用你熟悉的其他语言编写类似的程序,比较结果。
首先,0.8秒完成三百万次进程间消息传递,这足以说明问题。其次(也更重要的),我很怀疑自己是否能用别的语言写出同样功能的程序——Erlang的程序共计41行。