标签:and 错误 image cot 操作 from table 取数 net
计算机执行一条指令需要多久,到内存中取一个字需要多久(缓存是否击中), 到磁盘读取连续的字需要多久,而磁盘的定位又需要多久。
各种操作的时间,以 2001 年夏季,典型配置的 1GHz 个人计算机为标准:
操作 | 时间 |
---|---|
执行单一指令 | 1 纳秒 |
从 L1 高速缓存取一个字 | 2 纳秒 |
从内存取一个字 | 10 纳秒 |
从磁盘取连续存放的一个字 | 200 纳秒 |
磁盘寻址并取字 | 8 毫秒 |
Approximate timing for various operations on a typical PC:
operation | time |
---|---|
execute typical instruction | 1/1,000,000,000 sec = 1 nanosec |
fetch from L1 cache memory | 0.5 nanosec |
branch misprediction | 5 nanosec |
fetch from L2 cache memory | 7 nanosec |
Mutex lock/unlock | 25 nanosec |
fetch from main memory | 100 nanosec |
send 2K bytes over 1Gbps network | 20,000 nanosec |
read 1MB sequentially from memory | 250,000 nanosec |
fetch from new disk location (seek) | 8,000,000 nanosec |
read 1MB sequentially from disk | 20,000,000 nanosec |
send packet US to Europe and back | 150 milliseconds = 150,000,000 nanosec |
在典型PC上各种操作的近似时间:
操作 | 时间 |
---|---|
执行典型指令 | 1/1,000,000,000 sec = 1 nanosec |
从一级缓存中读取数据 | 0.5 nanosec |
分支预测错误 | 5 nanosec |
从二级缓存中读取数据 | 7 nanosec |
互斥锁定/解锁 | 25 nanosec |
从主存储器中读取数据 | 100 nanosec |
通过 1Gbps 网络发送 2K 字节 | 20,000 nanosec |
从内存顺序读取 1MB 数据 | 250,000 nanosec |
从新磁盘位置读取数据(定位) | 8,000,000 nanosec |
从磁盘顺序读取 1MB 数据 | 20,000,000 nanosec |
在美国向欧洲发送包并返回 | 150 milliseconds = 150,000,000 nanosec |
1985~2015 年随着硬件设备的进展,访问延时的变化
Figure 1: The gap between disk, DRAM, and CPU speeds
Figure 2: Latency Numbers Every Programmer Should Know
徐宥 十年学会程序设计
王达 内存与缓存
Peter Norvig Teach Yourself Programming in Ten Years
Computer Systems: A Programmer‘s Perspective, 3/E (CS:APP3e) Figure 6.16: The gap between disk, DRAM, and CPU speeds.
Colin Scott Latency Numbers Every Programmer Should Know
Wikipedia Hard disk drive performance characteristics
标签:and 错误 image cot 操作 from table 取数 net
原文地址:https://www.cnblogs.com/clipboard/p/12723753.html