JavaScript
jQuery

console.time()で非同期処理の所要時間を計測する

More than 1 year has passed since last update.

console.time('label_name')console.timeEnd('label_name')を使うと経過時間の測定が簡単にできる。

基本的な使い方

測りたい処理の開始時にconsole.time()を呼び出す。このとき引数にラベル名を渡す必要がある。
計測終了したいタイミングでconsole.timeEnd()を呼び出す。このとき引数には同じラベル名を渡す。

function loop(){
    console.time("loop time");
    for(var i =0; i < 1000000000; i++){}
    console.timeEnd("loop time");
}
loop();

出力結果

loop time: 812.000ms 

jQueryのDeferredと組み合わせて使う

便利だからDeferredと組み合わせて使う (※Deferredを使う必要性は特にない)

なんかJSONとってくる関数
$(function(){

    // 宣言
    function asyncFunction(){
        console.time('measurement of time'); // 計測開始
        var def = $.Deferred();

        $.ajax({
            url : 'hoge.json',
            type: 'GET',
            dataType : 'json'
        }).then(function(json){
            console.timeEnd('measurement of time'); // 計測終了(成功)
            def.resolve(json);
        },function(){
            console.timeEnd('measurement of time'); // 計測終了(失敗)
            def.reject('fail fail fail fail fail...!!');
        });

        return def.promise();
    }

    // 呼び出し
    asyncFunction().then(function(json){
        console.log(' :) ');
    },function(){
        console.log(' :( ');
    });
});

出力結果

measurement of time: 5.000ms
:)

console便利


参考URL:Console API