O que é "(programa)" na coluna de função do depurador do Chrome?
O que é "(programa)" na coluna de função do depurador do Chrome?
Respostas:
(program)
é o próprio Chrome, a raiz da árvore que chama todos os outros códigos ... está lá porque o salto do código nativo para o JavaScript, o carregamento de recursos etc. deve começar em algum lugar :)
Você pode ver exemplos da visualização em árvore nos documentos da ferramenta de desenvolvedor do Chrome .
Eu acredito que (programa) é um código nativo, não a raiz da árvore.
Veja este tópico:
https://bugs.webkit.org/show_bug.cgi?id=88446
Portanto, mais como chamadas de sistema do que como main ().
Aparentemente, inclui tempo ocioso. Além disso, alguns perfis de (programa) estão disponíveis no chrome: // profiler /
Como o @Nick diz, tem que começar em algum lugar.
Parece que a parte CPU Profiler é como muitos outros criadores de perfil que são baseados nos mesmos conceitos do gprof .
Por exemplo, self é quase um número inútil, a menos que haja algo como uma espécie de bolha de uma grande variedade de números em algum código que você possa editar. Altamente improvável.
O total deve incluir callees, para que seja mais útil. No entanto, a menos que amostras sejam coletadas durante o tempo bloqueado e durante o tempo de execução, ele ainda será bastante inútil, exceto para programas totalmente vinculados à CPU.
Ele fornece essas estatísticas por função, e não por linha de código. Isso significa (se você puder confiar no percentual total ) que uma função custa muito, no sentido de que, de alguma forma, você consiga levar tempo zero, como por stubbing, esse percentual é quanto tempo você economizaria.
Portanto, se você deseja se concentrar em uma função dispendiosa, precisa procurar nela o que poderia ser otimizado. Para fazer isso, você precisa saber como o tempo é subdividido entre as linhas de código na função. Se você tivesse custado uma linha de código, isso levaria você diretamente a essas linhas.
Não sei se você conseguirá um perfil melhor, como um amostrador de pilha de relógio de parede relatando no nível da linha, como o Zoom . Aqui está como eu faço .