Latency Numbers You Should Know in 2026
Jeff Dean's Latency Numbers Every Programmer Should Know is an incredible reference, and also a lot has changed since it was first published. Caches got bigger, NVMe collapsed the memory-to-disk gap by three orders of magnitude, and a round trip across a 100 GbE datacenter fabric is now faster than reading a megabyte off a spinning disk.
Here are the numbers updated for 2026. To make these microsecond and nanosecond figures easier to grasp, the table below includes the classic "Human Scale" multiplier. If 1 nanosecond stretched to 1 human second, here is how long you'd be waiting.
| Operation | Latency | Human Scale |
|---|---|---|
| L1 cache referenceFastest CPU-local memory, ~32–48 KB per core | 1 ns | 1 sec |
| L2 cache referencePer-core mid-level cache, ~512 KB–2 MB | 3 ns | 3 sec |
| Branch mispredictCPU guessed the wrong path; pipeline flushed | 3 ns | 3 sec |
| L3 cache referenceShared across cores, tens of MB | 15 ns | 15 sec |
| Mutex lock/unlockUncontended fast path, no syscall | 20 ns | 20 sec |
| Main memory reference (DDR5)RAM access after a cache miss | 80 ns | 1.3 min |
| PCIe Gen 4/5 transaction (CPU to Device)Round trip to a GPU, NIC, or NVMe drive | 200 ns | 3.3 min |
| InfiniBand / 100GbE Ping Pong (same rack)Userspace RDMA round trip between two hosts | 1.5 μs1,500 ns | 25 min |
| Compress 1KB with Snappy/LZ4Fast in-memory compression for storage/network | 2 μs2,000 ns | 33 min |
| Thunderbolt 4 / USB4 round tripExternal device link, e.g. a dock or eGPU | 2 μs2,000 ns | 33 min |
| Send 2K bytes over 10 GbETCP send including kernel and protocol overhead | 2 μs2,000 ns | 33 min |
| NVMe SSD random readModern PCIe-attached flash storage | 15 μs15,000 ns | 4 hr |
| Read 1 MB sequentially from memoryStreaming read, limited by DRAM bandwidth | 20 μs20,000 ns | 5.5 hr |
| Read 1 MB sequentially from NVMe SSDBulk read from flash storage | 150 μs150,000 ns | 1.7 days |
| Round trip within same datacenter (TCP)Typical service-to-service call via the kernel | 300 μs300,000 ns | 3.5 days |
| Disk seek (Rotational 7200 RPM HDD)Mechanical head movement on a spinning platter | 5 ms5,000,000 ns | 2 mo |
| Read 1 MB sequentially from 1 GbE networkBandwidth-limited transfer at ~125 MB/s | 8 ms8,000,000 ns | 3 mo |
| Read 1 MB sequentially from HDDSpinning disk throughput, ~70 MB/s | 15 ms15,000,000 ns | 6 mo |
| Send packet US East → US West → US EastCross-continent round trip, bounded by physics | 65 ms65,000,000 ns | 2 yr |
| Send packet US West → Europe → US WestTransoceanic round trip over submarine cable | 130 ms130,000,000 ns | 4 yr |
Note: these numbers depend heavily on exact hardware, OS overhead, and system load. They're meant to give order-of-magnitude intuition, not benchmark specs.
What's Changed
NVMe is real
A disk seek used to take 10 ms. An NVMe random read takes 15 μs — nearly three orders of magnitude faster. The gap between volatile memory and persistent storage isn't what it used to be, which changes how you'd design a database, WAL, or cache today.
The network beats local storage now
Reading 1 MB over a modern datacenter network is faster than reading it off a local spinning disk. That inversion is the foundation of disaggregated storage (Nitro, Storage Spaces Direct) and modern cloud SANs.
Interconnects are the new bottleneck
Moving data between components is a first-class metric now. A PCIe round trip to a GPU or NIC costs ~200 ns. Fast in absolute terms, but for HFT, DPDK pipelines, or AI training, PCIe is often what's slowing you down.
Sequential still beats random
Even on NVMe. The hardware changed; the cost of jumping around didn't. Batch sequentially when you can.
Colin Scott's interactive timeline traces how they've evolved since 1990 if you want the full arc.