您的位置:首页 > 职场人生

每个程序员都应该知道的延迟值

2015-05-22 09:09 417 查看
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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: