ロゴ メインコンテンツへ
RSSフィード
「Web 開発」に関連する記事一覧

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

2019/12/01
(この記事の文字数: 185)

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 件)



コンテンツロード: 0.008 sec
Copyright(C)2006-2024 puarts All Rights Reserved