From fb3ef96e99eca3f21c21ce40b42002b58fa42dc3 Mon Sep 17 00:00:00 2001 From: AiCells <1713699517@qq.com> Date: Tue, 14 Jul 2020 12:40:28 +0800 Subject: [PATCH] test --- test/ping1.erl | 16 ++++++++++++++++ test/ping2.erl | 15 +++++++++++++++ test/ping3.erl | 29 +++++++++++++++++++++++++++++ test/pong1.erl | 17 +++++++++++++++++ test/pong2.erl | 17 +++++++++++++++++ 5 files changed, 94 insertions(+) create mode 100644 test/ping1.erl create mode 100644 test/ping2.erl create mode 100644 test/ping3.erl create mode 100644 test/pong1.erl create mode 100644 test/pong2.erl diff --git a/test/ping1.erl b/test/ping1.erl new file mode 100644 index 0000000..13cb200 --- /dev/null +++ b/test/ping1.erl @@ -0,0 +1,16 @@ +-module(ping1). + +-compile([export_all]). + +ping(N) -> + {ok, Pid} = pong1:start(), + StartTime = erlang:system_time(nanosecond), + doPing(N, Pid, StartTime). + +doPing(0, _Pid, StartTime) -> + EndTime = erlang:system_time(nanosecond), + io:format("ping1 over use time: ~p ns~n",[EndTime - StartTime]); +doPing(N, Pid, StartTime) -> + gen_server:call(Pid, ping), + doPing(N - 1, Pid, StartTime). + diff --git a/test/ping2.erl b/test/ping2.erl new file mode 100644 index 0000000..a3ebe4b --- /dev/null +++ b/test/ping2.erl @@ -0,0 +1,15 @@ +-module(ping2). + +-compile([export_all]). + +ping(N) -> + {ok, Pid} = pong2:start(), + StartTime = erlang:system_time(nanosecond), + doPing(N, Pid, StartTime). + +doPing(0, _Pid, StartTime) -> + EndTime = erlang:system_time(nanosecond), + io:format("ping2 over use time: ~p ns~n",[EndTime - StartTime]); +doPing(N, Pid, StartTime) -> + gen_srv:call(Pid, ping), + doPing(N - 1, Pid, StartTime). \ No newline at end of file diff --git a/test/ping3.erl b/test/ping3.erl new file mode 100644 index 0000000..ea95b12 --- /dev/null +++ b/test/ping3.erl @@ -0,0 +1,29 @@ +-module(ping3). + +-compile([export_all]). + +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), + EndTime = erlang:system_time(nanosecond), + io:format("ping2 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), + EndTime = erlang:system_time(nanosecond), + io:format("ping2 over use time: ~p ~p ns~n",[Ret, EndTime - StartTime]); +doCast(N, Pid, StartTime) -> + gen_srv:cast(Pid, ping), + doCast(N - 1, Pid, StartTime). \ No newline at end of file diff --git a/test/pong1.erl b/test/pong1.erl new file mode 100644 index 0000000..4afbd8a --- /dev/null +++ b/test/pong1.erl @@ -0,0 +1,17 @@ +-module(pong1). + +-behavior(gen_server). + +-compile([export_all]). + +start() -> + gen_server:start(?MODULE, 0, []). + +init(_Args) -> + {ok, 0}. + +handle_call(ping, _From, State) -> + {reply, pong, State}. + +handle_cast(_Msg, State) -> + {noreply, State}. \ No newline at end of file diff --git a/test/pong2.erl b/test/pong2.erl new file mode 100644 index 0000000..3785607 --- /dev/null +++ b/test/pong2.erl @@ -0,0 +1,17 @@ +-module(pong2). + +-behavior(gen_srv). + +-compile([export_all]). + +start() -> + gen_srv:start(?MODULE, 0, []). + +init(_Args) -> + {ok, 0}. + +handleCall(ping, _State, _From) -> + {reply, pong}. + +handleCast(_Msg, State) -> + {noreply, State}. \ No newline at end of file