L1 cache reference 0.5ns
一级缓存引用
Branch mispredict 5ns
分支错误预测
L2 cache reference 7ns
二级缓存引用
Mutex lock 100ns
互斥锁定
Main memory reference 100ns
主存引用
Compress 1K bytes with Zippy 10,000ns
用Zippy压缩1K字节
Send 2K bytes over 1 Gbps network 20,000ns
通过1Gbps网络发送2K字节
Read 1 MB sequentially from memory 250,000ns
从内存中读取1MB
Round trip within same datacenter 500,000ns
数据中心的往返路程
Disk seek 10,000,000ns
磁盘寻道
Read 1 MB sequentially from network 10,000,000ns
从网络连续读取1MB
Read 1 MB sequentially from disk 30,000,000ns
从磁盘连续读取1MB
Send packet CA->Netherlands->CA 150,000,000ns
在CA向荷兰发包再返回
补充一段关于Branch mispredict的介绍:来自Wiki
Branch misprediction occurs when a central processing unit (CPU) mispredicts the next instruction to process in branch prediction, which is aimed at speeding up execution.
During the execution of certain programs there are places where the program execution flow can continue in several ways. These are called branches, or conditional jumps. The CPU also uses a pipeline which allows several instructions to be processed at the same time. When the code for a conditional jump is read we do not yet know the next instruction to execute and insert into the execution pipeline. This is where branch prediction comes in.