-module(timer_avg). -compile(export_all). tc(M, F, A, N) -> Times = tc1(M, F, A, N, []), STimes = lists:sort(Times), Min = lists:nth(1, STimes), Max = lists:last(STimes), Sum = lists:foldl(fun(X, Sum) -> Sum + X end, 0, STimes), Avg = Sum / (length(STimes)), io:format("Max: ~p~nMin: ~p~nAvg: ~p~n", [Max, Min, Avg]). tc1(M, F, A, N, Acc) when N > 0-> {T, _} = timer:tc(M, F, A), %io:format("timer:~p~n", [T]), tc1(M, F, A, N-1, [T | Acc]); tc1(_M, _F, _A, 0, Acc) -> Acc.