Console API

console.time

 Consoleオブジェクトの console.timeメソッドを呼び出してから console.timeEndメソッドを次に呼び出すまでの経過ミリ秒を計測することができます。この機能を利用することで、2つのメソッドを呼び出す間に行った処理にかかった時間を計測することができます。ここでは Consoleオブジェクトのタイマー機能を使って処理時間を計測する方法を試してみます。

console.time()
経過時間計測用タイマーを開始
Console APIの console.time(label) メソッドは、ラベルを文字列で受け取り、そのラベルで識別されたタイマーを開始します。
console.timeLog()
経過時間計測用タイマーの経過時間を出力
Console APIの console.timeLog(label) メソッドは、ラベルを文字列で受け取り、そのラベルで識別されたタイマーの開始から経過時間をコンソールに出力します。
console.timeEnd()
経過時間計測用タイマーを停止
Console APIの console.timeEnd(label) メソッドは、ラベルを文字列で受け取り、そのラベルで認識されたタイマーを停止し、その時点の経過時間をコンソールに出力します。

タイマーを使って処理時間を計測

 Consoleオブジェクトで用意されている console.timeメソッドおよびconsole.timeEndメソッドを使って、処理を行った時間をミリ秒単位で計測することができます。


console.time('ラベル')
console.timeEnd('ラベル')

 console.timeメソッドを呼び出すと時間の計測が開始されます。そして、console.timeEndメソッドが呼び出されると、計測が終了し開始から終了までの経過時間をコンソールに出力します。ラベルを指定することで、複数のタイマーを同時に動かして計測することができます。計測が完了すると「ラベル: xxxx ms」という形式でコンソールに出力が行われます。


console.time('for');
for (let i = 0; i < 10000; i++) {
	let str = 'A';
}
console.timeEnd('for');

console.time('while');
let num = 0;
while (num < 10000){
	let str = 'A';
	num += 1;
}
console.timeEnd('while');

 ここでのサンプルは「1万回変数に文字列を代入する」という処理を for文と while文を使ってそれぞれの処理時間を計測してみました。

任意のタイミングで途中の経過時間をログに出力する

 Consoleオブジェクトで用意されている console.timeLogメソッドを使用すると、計測中の任意の地点でこのメソッドを呼び出した時点までの計測時間をミリ秒単位で計測することができます。


console.timeLog('ラベル')

 console.timeメソッドを呼び出して時間の計測を開始してから console.timeEndメソッドが呼び出されて計測が終了するまでの間で console.timeLogメソッドを呼び出すことで、途中の時点での計測時間をログに出力することができます。途中までの計測時間は、最後に出力されるものと同じ「ラベル: xxxx ms」という形式でコンソールに出力が行われます。


console.time('Report');
for (let i = 0; i < 10000; i++) {
	let str = 'A';
}
console.timeLog('Report')
for (let i = 0; i < 10000; i++) {
	let str = 'A';
}
console.timeLog('Report')
for (let i = 0; i < 10000; i++) {
	let str = 'A';
}
console.timeEnd('Report');

 ここでのサンプルは上記で使った「1万回変数に文字列を代入する」という処理を3回繰り返しています。そしてそれぞれ1万回終わるごとに経過時間のログを出すようにしています。