-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).