2021-12-22
|~3 min read
|501 words
Credit: Hellerbarde forked jboner’s gist on latency and provided several useful graphics and scale to help put latency numbers in context in their own version.
| Operation | Latency | Conversion | 
|---|---|---|
| L1 cache reference | 0.5 ns | |
| Branch mispredict | 5 ns | |
| L2 cache reference | 7 ns | |
| Mutex lock/unlock | 25 ns | |
| Main memory reference | 100 ns | |
| Compress 1K bytes with Zippy | 3,000 ns | = 3 µs | 
| Send 2K bytes over 1 Gbps network | 20,000 ns | = 20 µs | 
| SSD random read | 150,000 ns | = 150 µs | 
| Read 1 MB sequentially from memory | 250,000 ns | = 250 µs | 
| Round trip within same datacenter | 500,000 ns | = 0.5 ms | 
| Read 1 MB sequentially from SSD* | 1,000,000 ns | = 1 ms | 
| Disk seek | 10,000,000 ns | = 10 ms | 
| Read 1 MB sequentially from disk | 20,000,000 ns | = 20 ms | 
| Send packet CA->Netherlands->CA | 150,000,000 ns | = 150 ms | 
* Assuming ~1GB/sec SSD
To make these scales more relatable, Hellerbarde multipled all of the times by 1 billion.
| ~ size | Operation | Latency | Human “size” (i.e., 1 billion times as long) | 
|---|---|---|---|
| Minute | L1 cache reference | 0.5 s | One heart beat (0.5 s) | 
| Minute | Branch mispredict | 5 s | Yawn | 
| Minute | L2 cache reference | 7 s | Long yawn | 
| Minute | Mutex lock/unlock | 25 s | Making a coffee | 
| Hour | Main memory reference | 100 s | Brushing your teeth | 
| Hour | Compress 1K bytes with Zippy | 50 min | One episode of a TV show (including ad breaks) | 
| Day | Send 2K bytes over 1 Gbps network | 5.5 hr | From lunch to end of work day | 
| Week | SSD random read | 1.7 days | A normal weekend | 
| Week | Read 1 MB sequentially from memory | 2.9 days | A long weekend | 
| Week | Round trip within same datacenter | 5.8 days | A medium vacation | 
| Week | Read 1 MB sequentially from SSD | 11.6 days | Waiting for almost 2 weeks for a delivery | 
| Year | Disk seek | 16.5 weeks | A semester in university | 
| Year | Read 1 MB sequentially from disk | 7.8 months | Almost producing a new human being | 
| Year | The above 2 together | 1 year | |
| Decade | Send packet CA -> Netherlands -> CA | 4.8 years | Average time it takes to complete a bachelor’s degree | 
Hi there and thanks for reading! My name's Stephen. I live in Chicago with my wife, Kate, and dog, Finn. Want more? See about and get in touch!