缓存和主内存变得更快。磁盘具有更高的顺序带宽。 SSD的寻道时间要短得多。
原始列表非常糟糕,他将混合延迟测量(如搜索时间)与1 /吞吐量混合(如果您认为可以往返磁盘控制器,即使数据已经在缓存中并且不需要头部运动,在200ns)。
没有任何延迟真的改变了。单指令和L1延迟实际上比他给出的数字长,但是您可以获得多个并行工作的指令(流水线操作)和从缓存中获取的几个单词的价格。类似地,对于磁盘传输,您将以更快的速度连续发送连续块,但发出请求后的等待时间没有太大变化,除非您已转移到SSD。
但是,CPU体系结构已经发生了很大变化,试图在其中任何一个上放一个数字都是一种损失。不同的指令需要非常不同的执行时间,数据依赖性控制着您看到的吞吐量。缓存行为主要由多核CPU之间的共享成本决定。等等。
我试图从这些时间中获得的主要因素是它们之间的比例差异:内存比直接在CPU上执行代码慢一个数量级,而磁盘比这慢几个数量级。
许多开发人员仍然考虑在CPU时间方面进行优化。但是如果有一个高速缓存未命中,则在给定上述时序的情况下,您的CPU闲置至少10个时钟周期。硬页故障需要800万个时钟周期。这就是为什么优化内存使用(减少页面错误)和优化数据布局(以减少缓存未命中)通常比仅关注代码流的任何优化都有更高的回报。