Skip to content

Instantly share code, notes, and snippets.

@wenshin
Forked from hellerbarde/latency.markdown
Last active October 9, 2016 05:13
Show Gist options
  • Save wenshin/4fa637b535bac02ec70991082bdf9055 to your computer and use it in GitHub Desktop.
Save wenshin/4fa637b535bac02ec70991082bdf9055 to your computer and use it in GitHub Desktop.
Latency numbers every programmer should know

程序员都应该知道的延迟时间

CPU L1 缓存引用 .......................... 0.5 ns
CPU 分支错误预测 ............................ 5 ns
CPU L2 缓存引用 ............................ 7 ns
互斥锁 加锁/解锁 ........................... 25 ns
内存引用 ................................. 100 ns             
Zip 压缩 1K bytes ..................... 3,000 ns  =   3 µs
1 Gbps 网络发送 2K bytes .............. 20,000 ns  =  20 µs
SSD 随机读 ........................... 150,000 ns  = 150 µs
内存连续读 1 MB 数据 .................. 250,000 ns  = 250 µs
同一个数据中心来回 ..................... 500,000 ns  = 0.5 ms
SSD 连续读 1 MB 数据 ................ 1,000,000 ns  =   1 ms
硬盘检索 ........................... 10,000,000 ns  =  10 ms
硬盘连续读 1 MB 数据 ................ 20,000,000 ns  =  20 ms
从加州 -> 荷兰 -> 加州 发包 ......... 150,000,000 ns  = 150 ms

假定 ~1GB/sec SSD

Visual representation of latencies

Visual chart provided by ayshen

Data by Jeff Dean

Originally by Peter Norvig

所有时间乘以十亿:

1分钟以内:

CPU L1 缓存引用                     0.5 s         一次心跳 (0.5 s)
CPU 分支错误预测                       5 s          哈欠
CPU L2 缓存引用                       7 s          一个大大的哈欠
互斥锁 加锁/解锁                      25 s         做一杯咖啡

1小时以内:

内存引用                           100 s         刷牙
Zip 压缩1K bytes                   50 min       一集电视剧(包括广告)

1天以内:

1 Gbps 网络发送 2K bytes           5.5 hr        午饭后的工作时间

1周以内

SSD 随机读                          1.7 days       正常的周末
内存连续读 1 MB 数据                 2.9 days       3天小长假
同一个数据中心来回                   5.8 days      7天长假
SSD 连续读 1 MB 数据               11.6 days      Waiting for almost 2 weeks for a delivery

1年以内

硬盘检索                            16.5 weeks    大学一学期
硬盘连续读 1 MB 数据                 7.8 months    小孩出生之前
两个之和                            1 year

10年以内

从加州 -> 荷兰 -> 加州 发包          4.8 years     完成学士学位的平均时间
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment