Skip to content

Instantly share code, notes, and snippets.

@pmorch
Forked from hellerbarde/latency.markdown
Last active August 29, 2018 18:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pmorch/29455e0ad13eccbeb3c62be3a379924d to your computer and use it in GitHub Desktop.
Save pmorch/29455e0ad13eccbeb3c62be3a379924d 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
Send 2K bytes over 1 Gbps network ....... 20,000 ns
SSD random read ........................ 150,000 ns
Read 1 MB sequentially from memory ..... 250,000 ns
Round trip within same datacenter ...... 500,000 ns
Read 1 MB sequentially from SSD* ..... 1,000,000 ns
Disk seek ........................... 10,000,000 ns
Read 1 MB sequentially from disk .... 20,000,000 ns
Send packet CA->Netherlands->CA .... 150,000,000 ns

Assuming ~1GB/sec SSD

Data by Jeff Dean

Originally by Peter Norvig

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment