Qual é a melhor maneira de criar um perfil de execução de javascript? [fechadas]

94

Existe um bom profiler para javascript? Eu sei que o firebug tem algum suporte para código de criação de perfil. Mas quero determinar as estatísticas em uma escala maior. Imagine que você está construindo muito código javascript e deseja determinar quais são realmente os gargalos no código. A princípio, quero ver as estatísticas de perfil de cada função javascript e tempo de execução. Em seguida, incluiria funções DOM. Isso combinado com ações que tornam as coisas mais lentas, como a operação na árvore de renderização, seria perfeito. Acho que isso daria uma boa impressão se o desempenho fosse interrompido no meu código, na preparação do DOM ou nas atualizações da árvore 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 um mecanismo de javascript aprimorado pela funcionalidade de perfil?

Norbert Hartl
fonte
Caso NODE_ENV=production node --prof app.jscontrário, consulte stackify.com/node-js-profilers ou softwarerecs.stackexchange.com para alternativas.
Cees Timmerman

Respostas:

63

Firebug

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

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

Você precisa ligar console.profileEnd ()para encerrar o bloqueio do seu perfil. Veja a API do console aqui: http://getfirebug.com/wiki/index.php/Console_API

Passaro preto

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

geowa4
fonte
Eu escrevi que conheço o firefox. Eu quero ter mais estatísticas do navegador que está influenciando a execução do javascript.
Norbert Hartl
1
Idem no Firebug, e você pode criar um perfil direto do console se não quiser codificá-lo.
Chris B
1
O Firebug é praticamente a melhor ferramenta que você terá.
Sasha Chedygov
1
A mesma coisa funciona no Safari Web Inspector
olliej
9
O Firebug é bom e tudo mais, mas não posso acreditar que há tantas pessoas aqui gritando "Firebug, Firebug!" logo após o OP disse explicitamente que deseja criar o perfil de seu código em vários navegadores.
JMTyler
20

As Ferramentas de desenvolvedor do Chrome têm um criador de perfil integrado.

Vince
fonte
2
+1, Speed ​​Tracer é bom, e é importante (como o OP mencionou) para o perfil de seu código em mais do que apenas Firefox para ver como o navegador individual o afeta.
JMTyler
4

Firebug + Firefox é obrigatório. E a barra de ferramentas do desenvolvedor do IE 8 também possui um criador de perfil embutido (o IE 8 vem com a barra de ferramentas do desenvolvedor).

Chris Brandsma
fonte
4

O inspetor da web do Safari 4 também inclui um profiler (embora a versão no nightlies seja melhorada em relação às chamadas de função recursivas). O Web Inspector também suporta APIs de profiler do Firebug.

olliej
fonte
4

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

Andreas Grabner
fonte
por favor, instruções sobre como instalar como complemento / extensão no navegador.
T.Todua