diff options
author | Christopher Faulet <[email protected]> | 2010-04-06 22:39:14 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-04-09 14:57:15 +0200 |
commit | 2cca6506bafedc5ebb720510151a98602133d8e5 (patch) | |
tree | b34db2ee7fc3750a914330a2c692f6b06b7540bd /lib/stdlib/src | |
parent | e44595eab24f92fe33d1feea44e422bcb7c53824 (diff) | |
download | otp-2cca6506bafedc5ebb720510151a98602133d8e5.tar.gz otp-2cca6506bafedc5ebb720510151a98602133d8e5.tar.bz2 otp-2cca6506bafedc5ebb720510151a98602133d8e5.zip |
Add timer:tc/2 to measure the elapsed time of anonymous functions
Works like timer:tc/3 but for anonymous functions.
Diffstat (limited to 'lib/stdlib/src')
-rw-r--r-- | lib/stdlib/src/timer.erl | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/stdlib/src/timer.erl b/lib/stdlib/src/timer.erl index 36fdb48c75..12bbd45703 100644 --- a/lib/stdlib/src/timer.erl +++ b/lib/stdlib/src/timer.erl @@ -22,7 +22,7 @@ send_after/3, send_after/2, exit_after/3, exit_after/2, kill_after/2, kill_after/1, apply_interval/4, send_interval/3, send_interval/2, - cancel/1, sleep/1, tc/3, now_diff/2, + cancel/1, sleep/1, tc/2, tc/3, now_diff/2, seconds/1, minutes/1, hours/1, hms/3]). -export([start_link/0, start/0, @@ -98,6 +98,17 @@ sleep(T) -> after T -> ok end. + +%% +%% Measure the execution time (in microseconds) for Fun(Args). +%% +-spec tc(function(), [_]) -> {time(), term()}. +tc(F, A) -> + Before = erlang:now(), + Val = (catch apply(F, A)), + After = erlang:now(), + {now_diff(After, Before), Val}. + %% %% Measure the execution time (in microseconds) for an MFA. %% |