AiCells vor 4 Jahren
Ursprung
Commit
fb3ef96e99
5 geänderte Dateien mit 94 neuen und 0 gelöschten Zeilen
  1. +16
    -0
      test/ping1.erl
  2. +15
    -0
      test/ping2.erl
  3. +29
    -0
      test/ping3.erl
  4. +17
    -0
      test/pong1.erl
  5. +17
    -0
      test/pong2.erl

+ 16
- 0
test/ping1.erl Datei anzeigen

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

+ 15
- 0
test/ping2.erl Datei anzeigen

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

+ 29
- 0
test/ping3.erl Datei anzeigen

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

+ 17
- 0
test/pong1.erl Datei anzeigen

@ -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}.

+ 17
- 0
test/pong2.erl Datei anzeigen

@ -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}.

Laden…
Abbrechen
Speichern