🧊

Console.timeとConsole.timeEnd

もっとはやく知ってれば・・。

Consoleオブジェクト

変数のdumpとかによく使うアレです。

var hoge = 100;
console.log(hoge);// 100

で、関数の実行時間とか測るために

var myTimer = new Date().getTime();

for(var i = 0, l = 1000000;i<l;i++){
    // So many tasks here...
}

myTimer = new Date().getTime() - myTimer;

console.log('myTimer: ' + myTimer + 'ms');// myTimer: 55ms

みたいなことしてたけど、これ実は最近のブラウザではいらなくて・・。

time() → timeEnd()

console.time('myTimer');

for(var i = 0, l = 1000000;i<l;i++){
    // So many tasks here...
}

console.timeEnd('myTimer');// myTimer: 55ms

コレで済むと・・・!

そういえば

var a = 'HOGE!'
var b = 'PIYO!'

console.log('%sからの%s', a, b);// HOGE!からのPIYO!

これ、Nodeでしか使えへんと勝手に思い込んでたけどさっきやったらChromeで普通に出た・・・!

あと

記事書き終わってふと思い出して調べたらやっぱりあった。

console.profile('myTimer1');

var loop = function(){
	for(var i = 0, l = 1000000;i<l;i++){
	    // So many tasks here...
	}
};

console.profile('myTimer2');
loop();
console.profileEnd('myTimer2');

loop();

console.profileEnd('myTimer1');

こっちはprofileとprofileEndで囲った間に実行された関数とかまとめて調べられる。

こういうチューニング系の知識をもっと仕入れたいなぁと思ってます・・。