Took some time to find these back. Couldn’t find the original gist thoughTimes

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
Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs
Round trip within same datacenter ...... 500,000 ns = 0.5 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

By Jeff Dean (http://research.google.com/people/jeff/)

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 Flight duration from Hawaii to Utah

Week

Read 1 MB sequentially from memory 2.9 days A long weekend.
Round trip within same datacenter 5.8 days A medium vacation

Year

Disk seek 16.5 weeks A semester in university
Read 1 MB sequentially from disk 7.8 months Almost producing a new human
The above 2 together 1 year

Decade

Send packet CA->Netherlands->CA 4.8 years ?

Originally found here.

Categories: brogramming

Comments are closed.