系统设计时需要考虑计算机运行时的系统时延,下表列出了一些常用的时延,用以在估算系统性能时作为估算的参考。

操作耗时
查询 L1 cahe0.5 ns
分支预测错误5 ns
查询 L2 cahe7 ns
互斥锁定/解锁100 ns
查询内存100 ns
用 zippy 压缩 1kb 数据10,000 ns = 10 us
通过带宽为 1Gb/s 的网络发送 2kb 数据20,000 ns = 20 us
从内存中顺序读取 1mb 数据250,000 ns = 250 us
数据在同一数据中心往返一次500,000 ns = 500 us
从硬盘中查找数据(非固态)10,000,000 ns = 10 ms
从网络中顺序读取 1mb 数据10,000,000 ns = 10 ms
从硬盘中顺序读取 1mb 数据30,000,000 ns = 30 ms
将数据包从加州发到荷兰再返回加州150,000,000 ns = 150 ms

时延也会随着时间的变化系统的进步而变化,这个网站有个动态显示的页面,更新到 2020 年。