各种有用的erlang行为
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

46 Zeilen
1.3 KiB

  1. -module(ping3).
  2. -compile([export_all, nowarn_export_all]).
  3. call(N) ->
  4. {ok, Pid} = pong3:start(),
  5. StartTime = erlang:system_time(nanosecond),
  6. doCall(N, Pid, StartTime).
  7. doCall(0, Pid, StartTime) ->
  8. EndTime = erlang:system_time(nanosecond),
  9. exit(Pid, kill),
  10. io:format("call3 over use time: ~p ns~n", [EndTime - StartTime]);
  11. doCall(N, Pid, StartTime) ->
  12. gen_apu:call(Pid, mPing),
  13. doCall(N - 1, Pid, StartTime).
  14. send(N) ->
  15. {ok, Pid} = pong3:start(),
  16. StartTime = erlang:system_time(nanosecond),
  17. doSend(N, Pid, StartTime).
  18. doSend(0, Pid, StartTime) ->
  19. % Ret = gen_apu:call(Pid, ping),
  20. Ret = 1,
  21. EndTime = erlang:system_time(nanosecond),
  22. exit(Pid, kill),
  23. io:format("send2 over use time: ~p ~p ns~n", [Ret, EndTime - StartTime]);
  24. doSend(N, Pid, StartTime) ->
  25. gen_apu:send(Pid, mPing),
  26. doSend(N - 1, Pid, StartTime).
  27. cast(N) ->
  28. {ok, Pid} = pong3:start(),
  29. StartTime = erlang:system_time(nanosecond),
  30. doCast(N, Pid, StartTime).
  31. doCast(0, Pid, StartTime) ->
  32. %Ret = gen_apu:call(Pid, ping),
  33. Ret = 1,
  34. EndTime = erlang:system_time(nanosecond),
  35. exit(Pid, kill),
  36. io:format("cast3 over use time: ~p ~p ns~n", [Ret, EndTime - StartTime]);
  37. doCast(N, Pid, StartTime) ->
  38. gen_apu:cast(Pid, mPing),
  39. doCast(N - 1, Pid, StartTime).