各种有用的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(ping2).
-compile([export_all, nowarn_export_all]).
call(N) ->
{ok, Pid} = pong2:start(),
StartTime = erlang:system_time(nanosecond),
doCall(N, Pid, StartTime).
doCall(0, Pid, StartTime) ->
EndTime = erlang:system_time(nanosecond),
exit(Pid, kill),
io:format("call2 over use time: ~p ns~n", [EndTime - StartTime]);
doCall(N, Pid, StartTime) ->
gen_srv:call(Pid, ping),
doCall(N - 1, Pid, StartTime).
send(N) ->
{ok, Pid} = pong2:start(),
StartTime = erlang:system_time(nanosecond),
doSend(N, Pid, StartTime).
doSend(0, Pid, StartTime) ->
% Ret = gen_srv: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_srv:send(Pid, ping),
doSend(N - 1, Pid, StartTime).
cast(N) ->
{ok, Pid} = pong2:start(),
StartTime = erlang:system_time(nanosecond),
doCast(N, Pid, StartTime).
doCast(0, Pid, StartTime) ->
%Ret = gen_srv:call(Pid, ping),
Ret = 1,
EndTime = erlang:system_time(nanosecond),
exit(Pid, kill),
io:format("cast2 over use time: ~p ~p ns~n", [Ret, EndTime - StartTime]);
doCast(N, Pid, StartTime) ->
gen_srv:cast(Pid, ping),
doCast(N - 1, Pid, StartTime).