Como medir o tempo gasto por uma função para executar?

Como medir o tempo gasto por uma função para executar?

Medindo o tempo, uma função leva para executar um aspecto importante do monitoramento e otimização do desempenho no desenvolvimento de software. Por exemplo, para desenvolvedores que têm várias implementações para a mesma função, medir seu tempo de execução pode ajudá -los a comparar seu desempenho e escolher o mais eficiente.

Este blog descreverá as maneiras de medir o tempo gasto por uma função durante a execução.

Como medir o tempo para executar uma função?

Os seguintes métodos são utilizados para medir o tempo gasto por uma função durante a execução:

  • Data.agora () método.
  • desempenho.agora () método.
  • console. Time () Método.

Método 1: Meça o tempo para executar uma função usando “Data.agora () ”método

Use o "Data.agora()”Método para medir o tempo que leva por qualquer função para executar. Este método fornece o registro de data e hora atual como o número de milissegundos decorridos desde 1º de janeiro de 1970 UTC ou a Epoch Unix.

Exemplo

Primeiro, defina uma função chamada “functão”Isso imprime os números de 0 a 10:

função func ()
para (vamos i = 0; i <=10; i++)
console.log (i);

Ligue para a data.agora () Método para obter a hora de início da função:

var start = data.agora();

Invoque a função definida entre o “começar" e "fim”Timestamps:

func ();

O tempo decorrido é calculado subtraindo o horário de início a partir do horário de término. Para o término, ligue para a data.agora () Método novamente e subtraia a hora de início dele:

VAR ExecutionTime = Data.agora () - Iniciar;

Finalmente, imprima o tempo decorrido para o console para análise:

console.log ("O tempo de execução da função para a impressão de números 0 a 10 é:" + ExecutionTime + "milissegundos");

Pode -se observar que a função leva 1ms para imprimir números de 0 a 10:

Método 2: Meça o tempo para executar uma função usando “desempenho.agora () ”método

Para medir o tempo de execução de uma função, use o “desempenho.agora()”Método. Ele fornece um registro de data e hora de alta resolução que mede o tempo decorrido em milissegundos com uma precisão de até um milésimo de milissegundos.

O "Data.agora()”O método retorna o tempo do sistema, enquanto o“desempenho.agora()”O método foi projetado especificamente para medir o tempo decorrido entre dois pontos. É frequentemente usado para monitoramento de desempenho e benchmarking, pois pode fornecer informações de tempo mais precisas do que outros métodos.

Exemplo

Ligar para "desempenho.agora()”Método para iniciar o tempo de função de execução:

var startExecutionTime = desempenho.agora();

Invoque a função entre o horário inicial e de término:

func ();

Novamente, chame o “desempenho.agora()”Método para encerrar o tempo de execução:

VAR ExecutionTimeEnd = Performance.agora();

Subtraia o horário de início desde o final do horário para obter o tempo de execução:

VAR ExecutionTime = ExecutionTimeEnd - StartExecutionTime;

Por fim, imprima o registro de registro exposto exposto no console:

console.log ("O tempo de execução da função para a impressão de números 0 a 10 é:" + ExecutionTime + "milissegundos");

Saída

Método 3: Meça o tempo gasto por uma função para executar usando “console.time () ”método

Outra maneira de medir o tempo de execução por uma função é o “console.tempo()”Método. É usado para iniciar um cronômetro para medir a duração de uma determinada operação. O console.O método Time () toma uma string como um argumento, que rotula o timer e inicia o temporizador.

É crucial observar que a etiqueta do timer passou para o “console.tempo()”O método deve corresponder à etiqueta passada para o“console.TimeEnd ()”Método. Se os rótulos não corresponderem, o console.O método timeEnd () não interromperá o timer, e a saída estará incorreta.

Exemplo

Ligue para o console.Time () Método para iniciar o cronômetro para medir o tempo de início da execução da função:

console.tempo ('tempo de execução para imprimir números de 0 a 10');

Invoque a função para executar:

func ();

Pare o timer usando o console.Método TimeEnd ():

console.timeEnd ('tempo de execução para imprimir números de 0 a 10');

Pode -se observar que a função leva “1.670166015625ms”:

Nós compilamos todas as abordagens para medir o tempo gasto por uma função para executar.

Conclusão

Para medir o tempo gasto por uma função para execução, use o “Data.agora () ”,“ Performance.agora()", ou o "console.tempo()”Método. O desempenho.Agora () o método fornece informações de tempo mais precisas do que outros métodos porque possui maior precisão e não é afetado pelas mudanças no tempo do sistema. No entanto, o console.O método do tempo () ainda é útil para medições de tempo rápidas e convenientes durante o desenvolvimento ou depuração. Este blog descreveu diferentes métodos para medir o tempo gasto por uma função durante a execução.