各种有用的erlang行为
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

46 lines
1.3 KiB

-module(ping3).
-compile([export_all, nowarn_export_all]).
call(N) ->
{ok, Pid} = pong3:start(),
StartTime = erlang:system_time(nanosecond),
doCall(N, Pid, StartTime).
doCall(0, Pid, StartTime) ->
EndTime = erlang:system_time(nanosecond),
exit(Pid, kill),
io:format("call3 over use time: ~p ns~n", [EndTime - StartTime]);
doCall(N, Pid, StartTime) ->
gen_apu:call(Pid, mPing),
doCall(N - 1, Pid, StartTime).
send(N) ->
{ok, Pid} = pong3:start(),
StartTime = erlang:system_time(nanosecond),
doSend(N, Pid, StartTime).
doSend(0, Pid, StartTime) ->
% Ret = gen_apu:call(Pid, ping),
Ret = 1,
EndTime = erlang:system_time(nanosecond),
exit(Pid, kill),
io:format("send2 over use time: ~p ~p ns~n", [Ret, EndTime - StartTime]);
doSend(N, Pid, StartTime) ->
gen_apu:send(Pid, mPing),
doSend(N - 1, Pid, StartTime).
cast(N) ->
{ok, Pid} = pong3:start(),
StartTime = erlang:system_time(nanosecond),
doCast(N, Pid, StartTime).
doCast(0, Pid, StartTime) ->
%Ret = gen_apu:call(Pid, ping),
Ret = 1,
EndTime = erlang:system_time(nanosecond),
exit(Pid, kill),
io:format("cast3 over use time: ~p ~p ns~n", [Ret, EndTime - StartTime]);
doCast(N, Pid, StartTime) ->
gen_apu:cast(Pid, mPing),
doCast(N - 1, Pid, StartTime).