Skip to content

Instantly share code, notes, and snippets.

@two7sclash-zz
Created October 13, 2016 14:28
Show Gist options
  • Save two7sclash-zz/d60404b66cec6a7795f9abc56dfbaecd to your computer and use it in GitHub Desktop.
Save two7sclash-zz/d60404b66cec6a7795f9abc56dfbaecd to your computer and use it in GitHub Desktop.
Latency numbers every programmer should know

Lets multiply all these durations by a billion:

Magnitudes:

Minute:

L1 cache reference                  0.5 s         One heart beat (0.5 s)
Branch mispredict                   5 s           Yawn
L2 cache reference                  7 s           Long yawn
Mutex lock/unlock                   25 s          Making a coffee

Hour:

Main memory reference               100 s         Brushing your teeth
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
Read 1 MB sequentially from memory  2.9 days      A long weekend
Round trip within same datacenter   5.8 days      A medium vacation
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
Read 1 MB sequentially from disk    7.8 months    Almost producing a new human being
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment