Skip to content

Instantly share code, notes, and snippets.

@robertobarreda
Last active November 17, 2016 14:23
Show Gist options
  • Save robertobarreda/bd86be5fbd22a362f416 to your computer and use it in GitHub Desktop.
Save robertobarreda/bd86be5fbd22a362f416 to your computer and use it in GitHub Desktop.
Latency numbers every programmer should know
### Latency numbers every programmer should know
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
![Visual representation of latencies](http://i.imgur.com/k0t1e.png)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment