9

コードの特定の部分を実行するのにかかる時間を計ることができる erlang コードを教えてくれる人は親切でしょうか?

これが利用できる erlang ライブラリを見たことがありませんか?

4

3 に答える 3

21

機能を使用できます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あり、合計経過時間 (ウォール クロック時間) です。

于 2012-11-14T15:13:16.353 に答える
11

タイマーライブラリがあります。tc/[1-3]を確認してください。

erlang:now/0を使用してタイムスタンプを収集し、期間を計算することもできます( now_diff/2はそのために非常に役立ちます)。

于 2012-11-14T15:03:09.407 に答える
5
 Take a look at timer:tc(Module, Function, Arguments)
于 2012-11-14T14:58:28.740 に答える