← Tutti gli episodi
Copertina di Colpo e buco: la matematica di quando conviene
Stagione 61 · Episodio 004

Colpo e buco: la matematica di quando conviene

18 settembre 2026 4:43
0:00 4:43

Ciao, e benvenuto nella quarta puntata della sessantunesima stagione. Oggi guardiamo da vicino cosa succede, momento per momento, quando chiedi qualcosa a una cache. Perché c'è un lato che di solito nessuno racconta: una cache non ti fa sempre risparmiare. A volte, se le cose vanno male, ti fa perfino perdere tempo. Oggi parliamo di colpo e buco, e della matematica di quando una cache conviene davvero.

Partiamo dai due esiti possibili, perché sono solo due. Ogni volta che cerchi una cosa nella cache, può succedere una di due cose. O la copia c'è già, pronta: è quello che chiamiamo un colpo a segno, e in quel caso sei velocissimo, hai risparmiato tutto il viaggio. Oppure la copia non c'è: è quello che chiamiamo un buco, e allora devi andare a prenderla alla fonte lenta, esattamente come se la cache non ci fosse. La vita di una cache è tutta qui: una lunga sequenza di colpi a segno e di buchi.

Voglio mostrarti il costo nascosto del buco, perché è controintuitivo. E qui arriva la cosa che spiazza. Verrebbe da pensare che, nel caso peggiore, una cache non faccia danni: se la copia non c'è, vai alla fonte, e sei lento come al solito. Ma non è proprio così. Perché quando c'è un buco, tu hai comunque perso tempo a guardare prima nella cache, per scoprire che era vuota. Quindi un buco non costa quanto non avere la cache: costa un pochino di più, perché hai pagato il controllo a vuoto, e solo dopo il viaggio intero. Il colpo a segno ti fa risparmiare tantissimo, ma ogni buco ti fa perdere quel piccolo extra.

Voglio darti il conto che decide tutto, perché è semplice. Da qui nasce una piccola matematica, ma chiara. Una cache conviene se il tempo che risparmi con i colpi a segno è molto maggiore del tempo che perdi con i buchi. Se trovi la copia quasi sempre, i rari buchi con il loro piccolo extra sono trascurabili, e la cache è un affare enorme. Ma se trovi la copia solo di rado, allora paghi il piccolo extra un sacco di volte, e guadagni pochissimo: in quel caso la cache può addirittura rendere il tuo sistema più lento di quanto sarebbe senza. Ecco perché il tasso di successo, di cui parlavamo, non è un dettaglio: è la linea che separa una cache utile da una cache dannosa.

Voglio darti l'immagine che rende chiara questa idea, perché la fissa. Torniamo alla dispensa. Se ogni volta che cucini controlli in dispensa e trovi quasi sempre quello che ti serve, la dispensa ti fa risparmiare un mare di viaggi al negozio: fantastica. Ma immagina una dispensa in cui non trovi quasi mai niente. Ogni volta apri lo sportello, guardi, non c'è nulla, e allora vai comunque al negozio. In quel caso, quel gesto di aprire e controllare a vuoto, ripetuto sempre, è puro tempo perso: faresti prima ad andare dritto al negozio, senza nemmeno controllare. Una dispensa vuota non è neutra: è un piccolo intralcio a ogni piatto.

Voglio dirti due parole sulla partenza, perché è un momento delicato. C'è anche un momento in cui ogni cache è debole: l'inizio. Appena accesa, la cache è vuota, fredda, non contiene ancora nessuna copia. In quella fase, quasi ogni richiesta è un buco, e il sistema sembra lento. Solo col passare del tempo, man mano che le cose calde vengono chieste e messe da parte, la cache si scalda, si riempie delle cose giuste, e comincia a rendere. Questo spiega perché certi sistemi sono lenti subito dopo un riavvio, e diventano rapidi solo dopo un po': la loro cache si stava ancora scaldando.

Voglio darti la lezione generale, perché insegna prudenza. La lezione è che una cache non è mai un bene automatico: è uno strumento che ripaga solo a certe condizioni. Aggiungere una cache a cuor leggero, sperando che tanto male non fa, è un errore: se il tasso di successo è basso, quella cache costa più di quanto rende. Prima di metterne una, dovresti sempre chiederti: le cose che chiedo tornano abbastanza spesso perché tenerne una copia ripaghi il controllo? Se la risposta è sì, benissimo. Se è no, la cache è solo un peso travestito da aiuto.

Per oggi ci fermiamo qui. Abbiamo visto colpo e buco. Ogni ricerca nella cache finisce in due modi: un colpo a segno, la copia c'è e sei velocissimo; o un buco, la copia non c'è e vai alla fonte lenta. E il buco ha un costo nascosto: hai comunque perso tempo a controllare a vuoto. Da qui il conto che decide tutto: la cache conviene solo se i risparmi dei colpi superano di molto gli extra dei buchi; con un tasso di successo basso, può perfino rallentarti. Come una dispensa vuota, che a ogni piatto ti fa perdere il tempo di controllare. E la cache appena accesa è fredda, e rende solo dopo essersi scaldata. La lezione: una cache ripaga solo a certe condizioni, mai in automatico. Nella prossima puntata: l'invalidazione, il problema più difficile di tutti. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.