有人可以如此友善地指出一些erlang代码,它允许我计算运行某些代码所需的时间吗?
我还没有看到有可用的erlang库吗?
答案 0 :(得分:18)
您可以使用erlang:statistics
功能。
这用于Joe Armstrong的编程Erlang书(p141)。
e.g。
yourfun() ->
statistics(runtime),
statistics(wall_clock),
% your code here
{_, Time1} = statistics(runtime),
{_, Time2} = statistics(wall_clock),
U1 = Time1 * 1000,
U2 = Time2 * 1000,
io:format("Code time=~p (~p) microseconds~n",
[U1,U2]).
在此示例中,U1
是CPU时间,U2
是总耗用时间(挂钟时间)。
答案 1 :(得分:10)
您还可以使用erlang:now/0收集时间戳,然后计算持续时间(now_diff/2对此非常有用)。
答案 2 :(得分:5)
Take a look at timer:tc(Module, Function, Arguments)