erlang程序设计8.2习题
By admin
第二题的erlang代码,用escript执行ex82文件
结果是
to 1000 processes, send 10 messages per process, cpu time is 290000 microseconds, real time is 285000 microseconds
另一个语言就用我熟悉的ruby了,用fiber,写一个ex82.rb
结果是to 1000 processes, send 10 messages per process, time is 275135.993958 microseconds
好像ruby的还快一些,不过ruby毕竟是生成的空的fiber
而erlang每个进程之间还传送了一些东西,如果ruby的fiber之间也传输消息的话,估计会多一个数量级。
等等,刚忘了,用escript执行效率低,因为是即时编译的(我是这样理解的)
把ex82改一下
另外建立一个ex82.erl
然后先编译一下
再执行ex82
结果是
这次erlang快了一个数量级了!