各种有用的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 regels
1.3 KiB

4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
  1. -module(ping2).
  2. -compile([export_all, nowarn_export_all]).
  3. call(N) ->
  4. {ok, Pid} = pong2: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("call2 over use time: ~p ns~n", [EndTime - StartTime]);
  11. doCall(N, Pid, StartTime) ->
  12. gen_srv:call(Pid, ping),
  13. doCall(N - 1, Pid, StartTime).
  14. send(N) ->
  15. {ok, Pid} = pong2:start(),
  16. StartTime = erlang:system_time(nanosecond),
  17. doSend(N, Pid, StartTime).
  18. doSend(0, Pid, StartTime) ->
  19. % Ret = gen_srv: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_srv:send(Pid, ping),
  26. doSend(N - 1, Pid, StartTime).
  27. cast(N) ->
  28. {ok, Pid} = pong2:start(),
  29. StartTime = erlang:system_time(nanosecond),
  30. doCast(N, Pid, StartTime).
  31. doCast(0, Pid, StartTime) ->
  32. %Ret = gen_srv:call(Pid, ping),
  33. Ret = 1,
  34. EndTime = erlang:system_time(nanosecond),
  35. exit(Pid, kill),
  36. io:format("cast2 over use time: ~p ~p ns~n", [Ret, EndTime - StartTime]);
  37. doCast(N, Pid, StartTime) ->
  38. gen_srv:cast(Pid, ping),
  39. doCast(N - 1, Pid, StartTime).