Calcola il tempo trascorso in Python

Muhammad Maisam Abbas 12 aprile 2021
  1. Calcola il tempo trascorso di una funzione con la funzione time() del modulo time in Python
  2. Calcola il tempo trascorso di una funzione con la funzione perf_counter() del modulo time in Python
  3. Calcola il tempo trascorso di una funzione con la funzione process_time() del modulo time in Python
Calcola il tempo trascorso in Python

In questo tutorial, discuteremo dei metodi per calcolare il tempo di esecuzione di un programma in Python.

Il modulo time è un modulo integrato che contiene molte funzioni relative al tempo. Diversi metodi all’interno del modulo time possono essere utilizzati per calcolare il tempo di esecuzione di un programma in Python. Questi metodi sono discussi di seguito.

Calcola il tempo trascorso di una funzione con la funzione time() del modulo time in Python

La funzione time() ci fornisce l’ora corrente in secondi. Restituisce un valore float che contiene l’ora corrente in secondi. Il seguente esempio di codice ci mostra come possiamo calcolare il tempo di esecuzione di una funzione con la funzione time() in Python.

import time

start = time.time()

print("The time used to execute this is given below")

end = time.time()

print(end - start)

Produzione:

The time used to execute this is given below
0.00011444091796875

Nel codice sopra, inizializziamo prima la variabile start che contiene l’ora di inizio usando la funzione time() e poi inizializziamo la variabile end dopo l’istruzione print() usando la funzione time(). Quindi calcoliamo il tempo di esecuzione totale sottraendo l’start dalla end.

Calcola il tempo trascorso di una funzione con la funzione perf_counter() del modulo time in Python

La funzione perf_counter() fornisce la misura più accurata dell’ora di sistema. La funzione perf_counter() restituisce il tempo a livello di sistema e tiene conto del tempo di sospensione. La funzione perf_counter() può essere utilizzata anche per calcolare il tempo di esecuzione di una funzione. Il seguente esempio di codice ci mostra come possiamo calcolare il tempo di esecuzione di una funzione con la funzione perf_counter() in Python.

import time

start = time.perf_counter()

print("This time is being calculated")

end = time.perf_counter()

print(end - start)

Produzione:

This time is being calculated
0.00013678300001629395

Nel codice sopra, inizializziamo prima la variabile start che contiene l’ora di inizio usando la funzione perf_counter() e poi inizializziamo la variabile end dopo l’istruzione print() usando la funzione perf_counter() . Quindi calcoliamo il tempo di esecuzione totale sottraendo l’start dalla end.

Calcola il tempo trascorso di una funzione con la funzione process_time() del modulo time in Python

La funzione perf_counter() è influenzata da altri programmi in esecuzione in background sulla macchina. Conta anche il tempo di sonno. Quindi, non è l’ideale per misurare il tempo di esecuzione di un programma.

La migliore pratica per usare la funzione perf_counter() è di eseguirla più volte, e poi il tempo medio darebbe una stima ragionevolmente accurata del tempo di esecuzione.

Un altro approccio potrebbe essere quello di utilizzare la funzione process_time(). La funzione process_time() è specificatamente progettata per stimare il tempo di esecuzione di un programma. Non è influenzato da altri programmi in esecuzione in background sulla macchina. Inoltre non conta il tempo di sonno.

La funzione process_time() restituisce un valore float che contiene la somma del sistema e il tempo CPU utente del programma. Il seguente esempio di codice ci mostra come possiamo calcolare il tempo di esecuzione di una funzione con la funzione process_time() in Python.

import time

start = time.process_time()

print("This time is being calculated")

end = time.process_time()

print(end - start)

Produzione:

This time is being calculated
0.000991254000000108

Nel codice sopra, inizializziamo prima la variabile start che contiene l’ora di inizio usando la funzione process_time() e poi inizializziamo la variabile end dopo l’istruzione print() usando la funzione process_time(). Quindi calcoliamo il tempo di esecuzione totale sottraendo l’start dalla end.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Articolo correlato - Python Time