Come misurare il tempo impiegato da una funzione da eseguire?

Come misurare il tempo impiegato da una funzione da eseguire?

Misurazione del tempo, una funzione impiega per eseguire un aspetto importante del monitoraggio e dell'ottimizzazione delle prestazioni nello sviluppo del software. Ad esempio, per gli sviluppatori che hanno più implementazioni per la stessa funzione, misurare il tempo di esecuzione può aiutarli a confrontare le loro prestazioni e scegliere quella più efficiente.

Questo blog descriverà i modi per misurare il tempo impiegato da una funzione durante l'esecuzione.

Come misurare il tempo per eseguire una funzione?

I seguenti metodi sono utilizzati per misurare il tempo impiegato da una funzione durante l'esecuzione:

  • Data.ora () metodo.
  • prestazione.ora () metodo.
  • console. Metodo tempo ().

Metodo 1: misurare il tempo per eseguire una funzione usando "Data.ora () "Metodo

Usa il "Data.Ora()"Metodo per misurare il tempo che impiega qualsiasi funzione da eseguire. Questo metodo fornisce il timestamp attuale come il numero di millisecondi trascorsi dal 1 ° gennaio 1970 UTC o l'Epoca UNIX.

Esempio

Innanzitutto, definisci una funzione chiamata "Func"Questo stampa i numeri da 0 a 10:

funzione func ()
per (let i = 0; i <=10; i++)
console.log (i);

Chiama la data.Metodo ora () per ottenere l'ora di inizio della funzione:

var start = data.Ora();

Invocare la funzione definita tra "inizio" E "FINE"TimeStamps:

func ();

Il tempo trascorso viene calcolato sottraendo l'orario di inizio dall'ora di fine. Per l'ora di fine, chiama la data.ora () metodo di nuovo e sottrai l'ora di inizio da esso:

VAR ESECUZIONETUE = DATA.ora () - inizio;

Infine, stampa il tempo trascorso alla console per l'analisi:

console.log ("Il tempo di esecuzione della funzione per la stampa dei numeri da 0 a 10 è:" + esecuzione + "millisecondi");

Si può vedere che la funzione impiega 1ms per stampare i numeri da 0 a 10:

Metodo 2: misurare il tempo per eseguire una funzione utilizzando “Performance.ora () "Metodo

Per misurare il tempo di esecuzione di una funzione, utilizzare il "prestazione.Ora()" metodo. Fornisce un timestamp ad alta risoluzione che misura il tempo trascorso in millisecondi con una precisione fino a un millesimo di millisecondo.

IL "Data.Ora()"Il metodo restituisce il tempo di sistema, mentre il"prestazione.Ora()"Il metodo è specificamente progettato per misurare il tempo trascorso tra due punti. Viene spesso utilizzato per il monitoraggio e il benchmarking delle prestazioni, in quanto può fornire informazioni di temporizzazione più accurate rispetto ad altri metodi.

Esempio

Chiama il "prestazione.Ora()"Metodo per l'avvio del tempo di esecuzione della funzione:

var startExecutionTime = Performance.Ora();

Invocare la funzione tra l'orario di inizio e fine:

func ();

Ancora una volta, chiama il "prestazione.Ora()"Metodo per porre fine al tempo di esecuzione:

VAR ESECUTUZIONETUED = Performance.Ora();

Sottrai l'ora di inizio dall'ora di fine per ottenere il tempo di esecuzione:

VAR ESECUTUZIONE = ExecutionTimeEnd - startExecutionTime;

Infine, stampare il timestamp preciso trascorso sulla console:

console.log ("Il tempo di esecuzione della funzione per la stampa dei numeri da 0 a 10 è:" + esecuzione + "millisecondi");

Produzione

Metodo 3: misurare il tempo impiegato da una funzione da eseguire usando "Console.Time () "Metodo

Un altro modo per misurare il tempo di esecuzione con una funzione è "console.tempo()" metodo. Viene utilizzato per avviare un timer per misurare la durata di una determinata operazione. La console.Il metodo time () prende una stringa come argomento, che etichetta il timer e avvia il timer.

È fondamentale notare che l'etichetta del timer è passata al "console.tempo()"Il metodo deve corrispondere all'etichetta passata al"console.timeend ()" metodo. Se le etichette non corrispondono, la console.Il metodo timeEnd () non fermerà il timer e l'output sarà errato.

Esempio

Chiama la console.Metodo time () per avviare il timer per misurare l'esecuzione della funzione ora di inizio:

console.tempo ('Tempo di esecuzione per stampare i numeri da 0 a 10');

Invocare la funzione da eseguire:

func ();

Arrestare il timer usando la console.TimeEnd () Metodo:

console.timeEnd ('Execuzione tempo per stampare i numeri da 0 a 10');

Si può osservare che la funzione prende "1.670166015625ms":

Abbiamo compilato tutti gli approcci per misurare il tempo impiegato da una funzione da eseguire.

Conclusione

Per misurare il tempo impiegato da una funzione per l'esecuzione, usa il "Data.ora () "," Performance.Ora()", o il "console.tempo()" metodo. La prestazione.Il metodo ora () fornisce informazioni di temporizzazione più accurate rispetto ad altri metodi perché ha una maggiore precisione ed non è influenzato dalle modifiche al tempo di sistema. Tuttavia, la console.Il metodo time () è ancora utile per misurazioni del tempo rapide e convenienti durante lo sviluppo o il debug. Questo blog ha descritto diversi metodi per misurare il tempo impiegato da una funzione durante l'esecuzione.