Альтернатива встроенным или добавленным инструментам профилирования (предпочтительный способ, я бы сказал): использовать таймер.Я приготовил это:
function Timer(){
var start = new Date
,ended = 'running ...';
return {
start: function(){
start = new Date;
return this
},
stop: function(mssg) {
var stoppedAt = (new Date - start);
ended = [(mssg ? mssg+': ' : '')
,(stoppedAt/1000)+' sec (+/- 15ms)'].join('')
return ended;
}
,toString: function(){
return ended;
}
};
}
//usage:
var timenow = new Timer().start();
// run a function
console.log(timenow.stop('this took '));
Вы также можете использовать функцию-обертку для определения времени выполнения функции.Что-то вроде:
function timedFn(fn){
var timer = new Timer().start();
fn();
console.log(timer.stop('function took '));
}