Share via


Acelerar o runtime do JavaScript

Para identificar funções caras, use a ferramenta Memória .

Perfis de exemplo

Resumo

  • Registre exatamente quais funções foram chamadas e quanta memória cada uma requer com Amostragem de Alocação na ferramenta Memória .

  • Visualize seus perfis como um gráfico de chamas.

Registrar um perfil de amostragem

Se você notar jank (interrupções de renderização) em seu JavaScript, colete um Perfil de Amostragem. Perfis de amostragem mostram onde o tempo de execução é gasto em funções em sua página.

  1. Em DevTools, acesse a ferramenta Memória .

  2. Clique no botão Opção De amostragem de alocação .

  3. Clique em Iniciar.

  4. Dependendo do que você está tentando analisar, você pode atualizar a página, interagir com a página ou apenas deixar a página ser executada.

  5. Quando terminar, clique no botão Parar .

Você também pode usar a API de Utilitários de Console para registrar e agrupar perfis da linha de comando.

Exibir perfil de amostragem

Quando você termina a gravação, o DevTools preenche automaticamente o painel Memória em PERFIS DE AMOSTRAGEM com os dados da gravação.

A exibição padrão é Heavy (Bottom Up). Essa exibição permite que você examine quais funções tiveram mais impacto no desempenho e examine o caminho de solicitação para cada função.

Alterar a ordem de classificação

Para alterar a ordem de classificação, selecione o menu suspenso ao lado do ícone de função selecionada de foco (função selecionada de foco) e selecione uma das seguintes opções:

Gráfico. Exibe um gráfico cronológico da gravação.

Gráfico de chamas

Pesado (De baixo para cima). Lista funções por impacto no desempenho e permite examinar os caminhos de chamada para as funções. Essa é a exibição padrão.

Gráfico pesado

Árvore (de cima para baixo). Mostra uma imagem geral da estrutura de chamada, começando na parte superior da pilha de chamadas.

Gráfico de árvores

Excluir funções

Para excluir uma função do perfil de amostragem, selecione-a e clique no botão excluir função selecionada (excluir função selecionada). A função de solicitação (pai) da função excluída (filho) é cobrada com a memória alocada atribuída à função excluída (filho).

Clique no botão restaurar todas as funções (restaurar todas as funções) para restaurar todas as funções excluídas de volta à gravação.

Exibir perfil de amostragem como gráfico

A exibição Gráfico fornece uma representação visual do Perfil de Amostragem ao longo do tempo.

Depois de gravar um Perfil de Amostragem, exiba a gravação como um gráfico de chamas alterando a ordem de classificação para Gráfico.

Exibição do gráfico de chamas

O gráfico de chamas é dividido em duas partes:

index Sair Descrição
1 Visão Geral Uma exibição de olho de pássaros de toda a gravação. A altura das barras corresponde à profundidade da pilha de chamadas. Então, quanto maior a barra, mais profunda a pilha de chamadas.
2 Pilhas de chamadas Essa é uma exibição detalhada das funções que foram chamadas durante a gravação. O eixo horizontal é o tempo e o eixo vertical é a pilha de chamadas. As pilhas são organizadas de cima para baixo. Portanto, a função na parte superior chamou a abaixo dela e assim por diante.

As funções são coloridas aleatoriamente. Não há correlação com as cores usadas nos outros painéis. No entanto, as funções são sempre coloridas da mesma forma entre invocações, para que você possa observar padrões em cada runtime.

Gráfico de chamas anotado

Uma pilha de chamadas alta não é necessariamente significativa; isso pode significar que muitas funções foram chamadas. Mas uma barra ampla significa que uma função levou muito tempo para ser concluída, portanto, estes são candidatos à otimização.

Ampliar partes específicas da gravação

Para ampliar as partes específicas da pilha de chamadas, clique e arraste para a esquerda e para a direita na visão geral. Depois de ampliar o zoom, a pilha de chamadas exibe automaticamente a parte da gravação selecionada.

Gráfico ampliado

Exibir detalhes da função

Clique em uma função para exibi-la na ferramenta Fontes .

Passe o mouse em uma função para exibir o nome e os dados de tempo:

Detalhe Descrição
Nome O nome da função.
Tamanho próprio O tamanho da invocação atual da função, incluindo apenas as instruções na função.
Tamanho total O tamanho da invocação atual dessa função e todas as funções que ela chamou.
URL O local da definição de função na forma de base.js:261 onde base.js é o nome do arquivo em que a função é definida e 261 é o número de linha da definição.

Exibir detalhes das funções no gráfico de perfis

Observação

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Google e usadas de acordo com os termos descritos na Licença Internacional de Atribuição do Creative Commons 4.0. A página original é encontrada aqui e é de autoria de Kayce Basques (Technical Writer, Chrome DevTools & Lighthouse) e Meggin Kearney (Technical Writer).

Licença Creative Commons Este trabalho é licenciado sob uma Licença Internacional de Atribuição do Creative Commons 4.0.