Cos'è la durata?

La durata è la quantità di tempo necessaria per completare un processo. Per usare un esempio del mondo reale: se guardi un orologio e prendi nota del tempo, esci a fare una passeggiata, poi ritorna e vedi che sono passati quindici minuti, la durata della tua passeggiata è stata di quindici minuti.

I computer contengono hardware speciale per misurare il tempo e i sistemi operativi includono comandi che è possibile utilizzare per misurare la durata dell'esecuzione di un programma.

Nei computer moderni, il tempo può essere misurato da diversi orologi.

  • L'orologio RTC (orologio in tempo reale) utilizza un cristallo di quarzo che vibra a frequenza costante per tenere traccia del "tempo umano": anni, mesi, giorni, ore, minuti e secondi. Tuttavia, la sua frequenza (32768 Hz) è troppo lenta per misurare frazioni di tempo inferiori a 1/32768 di secondo. Le moderne CPU possono completare un'operazione molto più velocemente di così, quindi RTC non può misurare con precisione la durata di un processo informatico.
  • Un PIT (timer di intervallo programmabile) è un contatore hardware che può attivare un interrupt quando viene raggiunto un determinato numero totale. Un PIT comune è il circuito integrato Intel 8253, originariamente progettato per essere utilizzato con il processore Intel 8080. Funziona ad una frequenza di 1.193182 MHz. Viene utilizzato come orologio di sistema da molti sistemi operativi, inclusi Windows e Linux.
  • Un TSC (contatore di data e ora) è un registro a 64 bit che si trova su tutte le moderne CPU x86. Conta i singoli cicli di clock della CPU, ed è stato introdotto per la prima volta con la linea Pentium delle CPU Intel. Inizialmente, è stato utile fornire un orologio che potesse misurare frazioni più piccole rispetto a un RTC o PIT. Tuttavia, richiede che la CPU funzioni a una velocità costante per ottenere una misurazione accurata. Le CPU più recenti possono cambiare frequenza (ad esempio entrare in una modalità "turbo" per ottenere aumenti di velocità temporanei o ridurre a una velocità inferiore quando è inattivo per risparmiare energia). Quindi il TSC, pur essendo utile per altri scopi, non è più affidabile per misurare il tempo costante.
  • HPET (timer di eventi ad alta precisione) è un timer hardware, sviluppato congiuntamente da Intel e Microsoft, disponibile su computer prodotti dopo il 2005. Nel chipset CPU sulla scheda madre, HPET si trova di solito sul southbridge. Conta il tempo in 64 bit a un minimo di 10 MHz e utilizza tre contatori "comparatore" (a 32 o 64 bit) per arrivare a una misurazione del tempo estremamente precisa. HPET viene utilizzato per molti scopi nel computer, come la sincronizzazione del flusso audio durante la riproduzione di un video.

Il più preciso di questi metodi di temporizzazione è HPET .

Come cronometrare un processo sul tuo computer

Esistono vari modi per scoprire quanto tempo occorre per completare un processo sul tuo computer.

Nel prompt dei comandi di Windows

Nel Prompt dei comandi di Windows, non esiste un modo incorporato di temporizzare un comando. Tuttavia, esiste almeno un modo semplice per scoprire quando il comando è stato avviato e interrotto. È possibile creare un file batch che utilizza la variabile d'ambiente % time% . Ad esempio, se crei un file batch chiamato mytime.bat, dagli le seguenti linee:

 @echo off set timestart =% time%% * echo Inizio:% timestart% echo Finitura:% time% 

La variabile % time% è l'ora corrente e % * è tutto dopo il nome del comando. Quindi, per il momento il comando dir, ad esempio:

 mytime dir c: \ 
 Il volume nell'unità C è Windows10 Il numero di serie del volume è 5CB6-BCD6 Directory di c: \ [ elenco di directory ... ] 28 File (i) 4, 500, 506 byte 12 Dir (s) 23, 807, 946, 752 byte liberi Inizio: 19: 31: 18, 87 Fine: 19 : 31: 18.89 

Nota: questo metodo non è preciso. Non misura il tempo della CPU, ma solo il tempo di "orologio da muro". Quindi, altri programmi in esecuzione sul tuo computer influenzeranno i tempi indicati. Inoltre, la durata deve essere calcolata manualmente sottraendo il tempo di "inizio" dal tempo di "fine".

In Windows PowerShell

In Windows PowerShell, è possibile scoprire per quanto tempo un programma deve essere eseguito avviandolo con il cmdlet Measure-Command . In generale, è usato in questo modo:

 Measure-Command { command } 

Il comando verrà eseguito, ma qualsiasi output non verrà mostrato. Invece, l'output mostrerà le informazioni sul tempo impiegato per il completamento del comando . Per esempio:

 Measure-Command {dir} 
 Giorni: 0 Ore: 0 Minuti: 0 Secondi: 0 Millisecondi: 14 Tick: 142200 TotalDays: 1.64583333333333E-07 TotalHours: 3.95E-06 TotalMinutes: 0.000237 TotalSeconds: 0.01422 TotalMilliseconds: 14.22 

In Linux

In Linux, puoi precedere qualsiasi comando della shell con il comando time per misurare la sua durata. Ad esempio, il seguente comando troverà tutti i file all'interno o al di sotto della directory corrente che contengono la parola hope e riportano quanto tempo è occorso per trovarli:

 time find / home / myuser -iname '* hope *' 
 /home/myuser/files/computer-hope.jpg /home/myuser/backup/hope-backup.zip real 0m0.298s utente 0m0.164s sys 0m0.088s 

A differenza di Measure-Command, il tempo di Linux mostra tutti gli output del comando in fase di cronometraggio. Quindi, riporta tre volte: il tempo utente (il tempo impiegato dal comando), il tempo di sys (il tempo impiegato dal kernel per eseguire le attività di sistema richieste) e il tempo reale (tempo totale trascorso).

  • Come impostare o modificare la data e l'ora di un computer.

Termini dell'hardware, termini del software