Latenza
# Latenza

La latenza (o tempo di latenza; in inglese: latency), in informatica e telecomunicazioni, indica in un sistema di elaborazione dati e o di telecomunicazioni, l'intervallo di tempo che intercorre fra il momento in cui viene inviato l'input/segnale al sistema e il momento in cui è disponibile il suo output. In altre parole, la latenza non è altro che una misura della velocità di risposta di un sistema.

## Tipologie

### Elaborazione dati

In un modulo di elaborazione, si definisce come il tempo impiegato per la completa elaborazione di un'operazione esterna. Nei moduli di elaborazione sequenziali (cioè con grado di parallelismo uguale a uno) la latenza è uguale al tempo di servizio, mentre in quelli paralleli è maggiore.

La latenza di trasmissione o delay di un collegamento Internet è invece il tempo impiegato da uno o più pacchetti ICMP a raggiungere un altro computer o server in rete (sia essa Internet o LAN). Nell'ambito delle reti i fattori che influenzano maggiormente la propagazione del segnale sono il mezzo che trasporta l'informazione e le apparecchiature (per esempio switch o router) che il segnale attraversa nel suo percorso.

A titolo di esempio con le connessioni xDSL tradizionali si ha una latenza che varia tra i 70 e i 100 ms, mentre con le connessioni xDSL FAST la latenza può raggiungere anche i 15 ms, per collegamenti HiperLan invece varia da 15 ms anche fino a 200 ms. Un utile strumento per misurare il tempo di latenza è il programma ping, disponibile sui principali sistemi operativi.

### Elaborazione audio digitale

È il tempo che passa tra la conversione analogico-digitale del segnale in ingresso a un sistema (ad esempio nell'ingresso microfonico della scheda audio di un computer), l'elaborazione del segnale stesso e la sua successiva conversione digitale-analogico in fase di riproduzione. In termini pratici è il tempo che intercorre tra l'acquisizione di un segnale audio in ingresso da parte di un sistema digitale e la sua (quanto possibile immediata) riproduzione in uscita. Si parla di latenza anche nel caso dell'intervallo di tempo tra la pressione di una nota su una tastiera MIDI (o analogo controller) collegata a un pc o expander e la riproduzione del suono corrispondente da parte di quest'ultimo.

Di norma per elaborazioni in tempo reale si cerca di avere un valore basso di latenza, il limite massimo può essere considerato di circa 30 ms in quanto al di sopra di esso il suono verrebbe percepito come eco, è tuttavia pratica comune tenersi ben al di sotto di questo valore. Allo stato dell'arte con un calcolatore dedicato ad alte prestazioni (DAW) e una scheda audio professionale o semi-pro si possono raggiungere latenze inferiori ai 5 ms.

## Esempi

Di esempi se ne possono fare innumerevoli, possiamo citare:

* il tempo che un segnale impiega a percorrere il mezzo trasmissivo, se il sistema è un cavo elettrico;
* il tempo che una CPU impiega a eseguire una particolare istruzione;
* il tempo di elaborazione di un algoritmo, se il sistema considerato è l'algoritmo stesso;
* il tempo che intercorre tra la richiesta di leggere dei byte da un supporto di memoria e il momento in cui questi byte sono restituiti al chiamante;
* il tempo che intercorre tra la richiesta di scrivere dei byte su un supporto di memoria e il momento in cui i byte sono effettivamente scritti.
