Qual é a melhor maneira de fazer o perfil da execução do javascript?

Existe um bom profiler para javascript? Eu sei que o firebug tem algum suporte para criação de perfil de código. Mas quero determinar statistics em uma escala maior. Imagine que você esteja criando um monte de código javascript e queira determinar quais são realmente os gargalos no código. Primeiro, quero ver as statistics de perfil de cada function javascript e tempo de execução. Em seguida, estaria incluindo as funções do DOM. Isso combinado com ações que atrapalham as coisas como a operação na tree de renderização seria perfeito. Eu acho que isso daria uma boa impressão se o desempenho é morto no meu código, na preparação do DOM ou em atualizações para a tree de renderização / visual.

Existe algo próximo do que eu quero? Ou qual seria a melhor ferramenta para obter o máximo do que descrevi? Seria um navegador auto-compilado mais o mecanismo de javascript aprimorado pela funcionalidade do perfil?

Firebug

O Firebug fornece um relatório de perfil altamente detalhado. Ele informará quanto tempo cada chamada de método leva em uma tabela gigante (detalhada).

console.profile([title]) //also see console.trace() 

Você precisa chamar console.profileEnd () para finalizar seu bloco de perfil. Veja a API do console aqui: http://getfirebug.com/wiki/index.php/Console_API

Passaro preto

Blackbird ( site oficial ) também tem um perfil mais simples (pode ser baixado aqui )

As Ferramentas do desenvolvedor do Chrome têm um profiler integrado.

Embora o Firebug tenha sido mencionado, uma coisa adicional que você gostaria de ver com o Firebug é um plugin para o Firebug chamado FireUnit ; John Resig fala sobre isso neste post:

Perfil de Chamada de Função JavaScript

Espero que ajude.

O Firebug + Firefox é obrigatório. E barra de ferramentas do desenvolvedor do IE 8 também tem um profiler embutido (IE 8 vem com a barra de ferramentas do desenvolvedor).

O inspetor web do Safari 4 também inclui um profiler (embora a versão nos nightlies seja melhorada por chamadas de funções recursivas). O Web Inspector também suporta APIs de perfil do Firebug.

Para JavaScript, XmlHttpRequest, Acesso DOM, Tempo de renderização e tráfego de rede para IE6, 7 e 8 você pode usar o FREE dynaTrace AJAX Edition