Googleのconsole.timeEnd('t')
から返される文字列を取得できるようにしたいと思いますChrome Javascript Console。
以下のこの例では、"t: 0.276ms"
を含む1つの変数が必要です。
> console.time('t'); console.timeEnd('t');
t: 0.276ms
< undefined
これは何か可能ですか?
GoogleでChrome 23.0.1262.2(公式ビルド155904)開発では、不可能に見えます。正確に時間を計算できることがわかった唯一の方法は、window.performance.webkitNow()
以下に簡単な例を示します。
var start = window.performance.now();
...
var end = window.performance.now();
var time = end - start;
詳細は http://updates.html5rocks.com/2012/08/When-milliseconds-are-not-enough-performance-now
単純に使用できます
var begin=Date.now();
something here ...;
var end= Date.now();
var timeSpent=(end-begin)/1000+"secs";
これは最も簡単な方法であり、クロムだけでなく任意のブラウザで動作します
時間を測定する小さなヘルパー。 timerEnd
は、ミリ秒単位で時間を返します。また、timers
オブジェクトには、この名前のタイマーが使用された回数、すべての測定時間の合計、測定の平均に関する情報が含まれます。操作の測定時間は多くの要因に依存するため、これは非常に便利です。したがって、数回測定して平均を確認するのが最善です。
var timers = {};
function timer(name) {
timers[name + '_start'] = window.performance.now();
}
function timerEnd(name) {
if (!timers[name + '_start']) return undefined;
var time = window.performance.now() - timers[name + '_start'];
var amount = timers[name + '_amount'] = timers[name + '_amount'] ? timers[name + '_amount'] + 1 : 1;
var sum = timers[name + '_sum'] = timers[name + '_sum'] ? timers[name + '_sum'] + time : time;
timers[name + '_avg'] = sum / amount;
delete timers[name + '_start'];
return time;
}