Numbers Everyone Should Know

A quick comparison of different data-access times on a distributed system:

  • L1 cache reference – 0.5 ns
  • Branch mispredict – 5 ns
  • L2 cache reference – 7 ns
  • Mutex lock/unlock – 100 ns
  • Main memory reference – 100 ns
  • Compress 1K bytes with Zippy – 10,000 ns
  • Send 2K bytes over 1 Gbps network – 20,000 ns
  • Read 1 MB sequentially from memory – 250,000 ns
  • Round trip within same datacenter – 500,000 ns
  • Disk seek – 10,000,000 ns
  • Read 1 MB sequentially from network – 10,000,000 ns
  • Read 1 MB sequentially from disk – 30,000,000 ns
  • Send packet CA->Netherlands->CA – 150,000,000 ns

Seen on this talk from Jeff Dean (Google).

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s