JavaScriptで特定区間の処理時間を計測するユーティリティークラス
ロゴ
「Web 開発」に関連する記事一覧

JavaScriptで特定区間の処理時間を計測するユーティリティークラス

2019/12/01
JavaScript 

C#ではよく以下のように Disposer を使って特定区間の時間を計測するような以下のようなクラスを作って使ったりしています。

using(new ScopedStopwatch(time => Console.WriteLine($"hoge: {time} ms")))
{
    // 時間を計測したい処理
}

JavaScriptでも似たようなことができないのか調べたら自分で Disposer 的なものを作ればできそうなことがわかったので作ったものを載せておきます。

class ScopedStopwatch {
    constructor(logFunc) {
        this._logFunc = logFunc;
        this._startTime = Date.now();
    }

    dispose() {
        const endTime = Date.now();
        var diff = endTime - this._startTime;
        this._logFunc(diff + " ms");
    }
}

function using(disposable, func) {
    const result = func();
    disposable.dispose();
    return result;
}

以下が利用例です。これで毎回開始時間、終了時間をとって引き算するコードを書かなくて済みます。

using(new ScopedStopwatch(time => console.log("hoge: " + time + " ms")), () => {
    // 計測したい処理
});

  このエントリーをはてなブックマークに追加    

<<「Web 開発」の記事一覧に戻る

関連記事

にほんブログ村 ゲームブログ ファイアーエムブレムへ にほんブログ村 デザインブログ コンピュータグラフィックスへ

0.0258 sec
Copyright(C)2006-2019 puarts All Rights Reserved