Latency Numbers Every Developer Should Know
Within the industry they are commonly known as "napkin estimations", They are there to serve as a guide for various effects on the ways you choose to communicate.
| Operation | Original Latency | Scaled "Human" Time |
|---|---|---|
| L1 cache reference | 0.5 ns | 1.0 seconds |
| Branch mispredict | 5 ns | 10.0 seconds |
| L2 cache reference | 7 ns | 14.0 seconds |
| Mutex lock/unlock | 25 ns | 50.0 seconds |
| Main memory reference | 100 ns | 3.3 minutes |
| Compress 1K (Zippy) | 10,000 ns | 5.6 hours |
| Send 1KB (1 Gbps network) | 10,000 ns | 5.6 hours |
| Read 4KB from SSD (random) | 150,000 ns | 3.5 days |
| Read 1MB from memory (seq.) | 250,000 ns | 5.8 days |
| Round trip (same datacenter) | 500,000 ns | 11.6 days |
| Read 1MB from SSD (seq.) | 1,000,000 ns | 23.1 days |
| HDD seek | 10,000,000 ns | 7.6 months |
| Read 1MB (1 Gbps network) | 10,000,000 ns | 7.6 months |
| Read 1MB from HDD (seq.) | 30,000,000 ns | 1.9 years |
| Round trip (CA -> Netherlands) | 150,000,000 ns | 9.5 years |
Feel the Scale: A Human-Time Analogy
It's hard to grasp the difference between 0.5 ns and 500,000 ns. Let's scale it up. Click a button below to set an operation's time cost to "1 Second" and see how long everything else would take in human time.
Latency Numbers Visualized

Figure: Visualization of Latency Numbers
Watch: Latency Numbers Explained
For a deeper dive into these latency numbers and their practical implications, check out this excellent video explanation that breaks down why these numbers matter for system design and performance optimization.