コードの特定の部分を実行するのにかかる時間を計ることができる erlang コードを教えてくれる人は親切でしょうか?
これが利用できる erlang ライブラリを見たことがありませんか?
コードの特定の部分を実行するのにかかる時間を計ることができる erlang コードを教えてくれる人は親切でしょうか?
これが利用できる erlang ライブラリを見たことがありませんか?
機能を使用できますerlang:statistics
。
これは Joe Armstrong の Programming Erlang book (p141) で使用されています。
例えば
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
あり、合計経過時間 (ウォール クロック時間) です。
タイマーライブラリがあります。tc/[1-3]を確認してください。
erlang:now/0を使用してタイムスタンプを収集し、期間を計算することもできます( now_diff/2はそのために非常に役立ちます)。
Take a look at timer:tc(Module, Function, Arguments)