Funzioni timer in Python

  1. Uso della funzione time.time() in Python
  2. Uso della funzione time.Process_time() in Python
  3. Uso della funzione time.Perf_counter in Python
  4. Uso della funzione time.monotonic() in Python

Python è un linguaggio di programmazione molto vasto che ha un utilizzo molto elevato in tutto il mondo. I programmatori realizzano numerosi programmi che richiedono una notevole quantità di righe di codice Python. Per monitorare e analizzare quei codici in base al tempo di esecuzione, possiamo utilizzare le funzioni timer di Python.

Il modulo time è qui il più importante in quanto contiene tutte le funzioni che aiutano a controllare l’ora e ad analizzarla.

In questo tutorial, discuteremo varie funzioni di Python Timer usando il modulo time.

Uso della funzione time.time() in Python

Questa funzione restituisce il tempo in secondi. Sono i secondi che passano dopo l’epoca - 1 gennaio 1970, 00:00:00 (UTC). Questa funzione utilizza il tempo impostato dal sistema informatico per restituire l’output, ovvero il numero di secondi.

Esempio:

import time

start = time.time()

for r in range(1,20000):
    pass

end = time.time()
print(format(end-start))

Tra start e end, c’è il corpo principale del codice. Qui viene preso come esempio un cicli for.

Produzione:

3.252345085144043

Si noti che l’output, ad esempio i secondi, è un valore float.

Uso della funzione time.Process_time() in Python

Questa funzione restituisce il tempo in frazioni di secondo. Nella funzione viene registrato anche il riferimento temporale dell’intero processo e non solo il tempo trascorso durante il processo.

Esempio:

from time import process_time, sleep

start = process_time()  

for r in range(20):
    print(r, end=" ")

end = process_time()
print(end, start)
print(end-start)

Produzione:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 10.756645 10.75523
0.0014150000000014984

Il tempo impiegato in time.sleep() non viene misurato da questa funzione, il che significa che misura solo la differenza di tempo tra due riferimenti temporali consecutivi.

Uso della funzione time.Perf_counter in Python

Nota anche come contatore delle prestazioni, questa funzione consente di ottenere il conteggio del tempo tra due riferimenti in modo più accurato. Questa funzione dovrebbe essere applicata solo a piccoli processi in quanto è altamente accurata.

Possiamo anche usare time.sleep() tra questa funzione. Con questa funzione l’esecuzione del codice può essere sospesa per alcuni secondi. La funzione sleep() accetta un valore float come argomento.

Esempio:

from time import perf_counter, sleep

n = 10
start = perf_counter()  

for r in range(n): 
    sleep(2)

end = perf_counter() 

print(end-start)

Produzione:

20.03540569800043

Il valore restituito mostra il tempo totale trascorso. Poiché la funzione sleep è impostata su 2, ci sono voluti 20.035 secondi per completare l’intero processo in cui il valore di input era 10.

Uso della funzione time.monotonic() in Python

Se l’utente cambia l’ora durante l’esecuzione di un codice Python, può fare un’enorme differenza durante l’implementazione della funzione timer in Python. In questa situazione, la funzione timer monotono fa in modo che i riferimenti temporali si adattino in base alle modifiche apportate dall’utente esternamente.

Esempio:

from time import monotonic, sleep

n = 10
start = monotonic()  

for r in range(n): 
    sleep(2)

end = monotonic() 

print(end-start)

Produzione:

20.029595676999634

I riferimenti di inizio e fine assicurano che il programma si adatti a qualsiasi modifica apportata dall’utente.

Articolo correlato - Python Timer

  • Crea un timer per il conto alla rovescia in Python