erlang分布式调用效率

erlang分布式调用效率

-module(st).
%%
%% Exported Functions
%%
-export([start/0, r/0, test/1]).

%%
%% API Functions
%%
start() ->
    register(ts, spawn(?MODULE, r, [])).

r() ->
    receive
        {test, From, P} ->
            From ! P,
            r()
    end.

test(N) ->
    io:format("last:~p, ~p~n", [statistics(runtime), statistics(wall_clock)]),
    t(N, self()),
    io:format("last:~p, ~p~n", [statistics(runtime), statistics(wall_clock)]).

t(0, _Self) ->
    ok;
t(N, Self) ->
    {ts, 'aa@chairmin'} ! {test, Self, "hhahaha"},
    receive
        _ ->
            ok
    end,
    t(N-1, Self).
    

测试如下:
erl -sname bb -setcookie tttc

(bb@ChaimYu-PC)13> st:test(10000).
last:{1419,0}, {1736859,55614}
last:{1762,343}, {1741882,5023}
ok

(bb@ChaimYu-PC)14> st:test(100000).
last:{1762,0}, {1809992,68110}
last:{4992,3230}, {1854624,44632}
ok
(bb@ChaimYu-PC)15> st:test(100000).
last:{4992,0}, {1874436,19812}
last:{8736,3744}, {1918850,44414}
ok

每次调用时间walltime在0.5ms左右
aa机erl进程CPU占用10~25%


机器配置如下:
bb
Core2 Duo CPU E7400 @ 2.80GHz 2.79GHz
2.00 GB
64bit Win7

aa
Pentium 4 CPU 3.00GHz 2.99GHz
1.00 GB
32bit win2003

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值