表中所示的是发生单次操作的时间均值,等比放大为一个假想的系统,将 1 个 CPU 周期的 0.3ns(十亿分之一秒的三分之一)放大为现实生活中的 1 秒。
事件 | 延时 | 相对时间比例 |
---|---|---|
1个CPU周期 | 0.3ns | 1s |
L1缓存访问 | 0.9ns | 3s |
L2缓存访问 | 3ns | 10s |
L3缓存访问 | 10ns | 33s |
主从访问(从CPU访问DRAM) | 100ns | 6分 |
固态硬盘I/O(闪存) | 10-100微秒 | 9-90小时 |
旋转磁盘I/O | 1-10ms | 1-12月 |
互联网:从旧金山到纽约 | 40ms | 4年 |
互联网:从旧金山到英国 | 81ms | 8年 |
轻量级硬件虚拟化重启 | 100ms | 11年 |
互联网:从旧金山到澳大利亚 | 183ms | 19年 |
操作系统虚拟化系统重启 | <1s | 105年 |
基于TCP定时器到重传 | 1-3s | 105-317年 |
SCSI命令超时 | 30s | 3千年 |
硬件虚拟化系统重启 | 40s | 4千年 |
物理系统重启 | 5m | 32千年 |
正如你所见,1 个 CPU 周期的时间是很短暂的。0.5 米差不多是你的眼睛到这个页面的距离,光线走过这段距离需要的时间大约是 1.7ns。在这段时间里,现代的 CPU 已经执行了 5 个 CPU 周期,处理了若干个指令。