Latency numbers every programmer should know
https://gist.github.com/hellerbarde/2843375
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 = 3 µs Send 2K bytes over 1 Gbps network ....... 20,000 ns = 20 µs SSD random read ........................ 150,000 ns = 150 µs Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs Round trip within same datacenter ...... 500,000 ns = 0.5 ms Read 1 MB sequentially from SSD* ..... 1,000,000 ns = 1 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
Tables | Are |
---|---|
一级缓存读取时间为 | 0.5ns |
分支预测错误需要耗时 | 5ns |
二级缓存读取时间为 | 7ns |
互斥锁的加锁和解锁需要时间为 | 25ns |
内存寻址需要 | 100ns |
压缩1K字节需要 | 3us |
在 1Gbps 的网络上传输 2K 的数据需要 | 20us |
SSD 随机读取耗时为 | 150us |
从内存中读取 1MB 的连续数据耗时 | 250us |
同一个数据中心网络上跑一个来回需要 | 0.5ms |
从 SSD 读取 1MB 的顺序数据需要 | 1ms |
磁盘寻址时间为 | 10ms |
从磁盘读取 1MB 连续数据需要 | 20ms |
发送一个数据包大约需要 | 150ms |
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
来源:https://www.cnblogs.com/jinanxiaolaohu/p/12394555.html