2020年代的数据,只是对量级有个概念。
现代CPU一秒可计算1e8次(1亿次)
1ns
- 访问CPU寄存器(亚纳秒级别)
1ns-10ns
-
L1 & L2 Cache
-
分支错误预测惩罚
10ns-100ns
-
L3 Cache 位于该范围的快端
-
现代处理器访问主存位于该范围的慢端
100ns-1000ns(1us)
-
Linux系统调用(几百纳秒,仅仅是陷入内核并返回的成本,不包括系统调用本身的运行时间)
-
对64位数字进行md5哈希处理(大约200ns)
1us-10us
-
Linux上下文切换(最好的情况下几微秒)
-
将64KB从主存一个位置复制到另一个位置
10us-100us
-
Nginx处理典型的http请求(50us)
-
从主存顺序读取1MB数据(50us)
-
SSD读取8K页延迟(100us)
100us-1000us(1ms)
-
SSD写入延迟(1ms,是读的10倍)
-
云提供商的区域内网络往返(几百微秒,现在可以达到几十微秒)
-
Memcache或Redis get操作(~1ms,包含网络往返)
1ms-10ms
-
现代云的域间网络往返
-
磁盘驱动器寻道时间(5ms)
10ms-100ms
-
美国西海岸到东海岸、美国东海岸到欧洲的网络往返延时
-
从主存顺序读取1GB
100ms-1000ms(1s)
-
bcrypt等慢速哈希函数加密(300ms)
-
TLS握手(250-500ms)
-
从SSD顺序读取1GB
1s
- 在同一云区域通过网络传输1GB文件(10s)