Appendice A. Latenze per i calcoli di Napkin Math
Per progettare e valutare le ottimizzazioni a un livello diverso, è utile essere in grado di approssimare e valutare i numeri di latenza per le operazioni di base che vediamo nelle interazioni con il computer.
È bene ricordare alcuni di questi numeri, ma se non li ricordi, ho preparato una piccola tabella con le latenze medie approssimative, arrotondate, nella Tabella A-1. È fortemente ispirata al repository napkin-math di Simon Eskildsen, con alcune modifiche.
Il repository è stato creato nel 2021. Per le operazioni basate sulla CPU, questi numeri si basano sulle CPU server x86 della famiglia Xeon. Si noti che le cose continuano a migliorare ogni anno, tuttavia la maggior parte dei numeri è stabile dal 2005, a causa delle limitazioni spiegate in "L'hardware diventa sempre più veloce e meno costoso". Le latenze legate alla CPU potrebbero essere diverse anche tra le varie architetture di CPU (ad esempio ARM).
Infine, ricorda che questi numeri spesso non sono riproducibili su scala micro (ad esempio, per la latenza di scrittura o lettura del disco). I nuovi PC, i server e i fornitori di laptop (ad esempio, Apple) con le nuove versioni dei sistemi operativi e dei driver fanno un lavoro fantastico con la cache del disco. In combinazione con le grandi capacità della RAM, è necessario un certo sforzo per riprodurre la latenza "lenta" di un SSD o di un HDD con un micro-benchmark di lettura di un file singolo o addirittura multi-MB. Inoltre, ...