Como medir o tempo que uma função leva para executar

Preciso de ter tempo de execução em milissegundos.

eu fiz esta pergunta originalmente em 2008. A resposta aceita então era para usar new Date().getTime() No entanto, todos nós podemos concordar agora que usando o padrão performance.now() API é mais apropriado. Estou, portanto, mudando a resposta aceita a esta.

Solução

Usando [performance.now()][1]:


var t0 = performance.now();

doSomething();   // 
Comentários (26)

usar novo Date().getTime()

O método getTime() retorna o número de milissegundos desde a meia-noite de 1 de Janeiro de 1970.

ex.

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

for (i = 0; i < 50000; ++i) {
// do something
}

var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time);
Comentários (14)

Use Firebug, habilite tanto o Console quanto o Javascript. Clique em Perfil. Recarregar. Clique novamente em Profile. Veja o relatório.

Comentários (3)