对低延迟 RAM 的现实好处的搜索似乎产生了在同样旧的硬件上完成的非常旧的测试。CAS 延迟现在与计算机的其他性能特征本质上无关吗?
即使在 2004 年的文章中,CAS 2 比 CAS 3 的优势也不是 33%,它平均快 2-3%,几乎无关紧要。
我计划在一台新机器上做一些相对内存密集的模拟,并且正在为它制定一个规范。如果 CL11 与 CL17 的优势仅为 3%,那么我真的不感兴趣。
2004 年:https ://www.extremetech.com/computing/56922-does-ram-latency-matter
2005 年:https ://forums.tomshardware.com/threads/ddr-memory-low-latency-how-much-benefit.642050/
2005 年:https ://forums.tomshardware.com/threads/low-cas-latency-and-real-system-improvement.466247/
2008 年:https ://www.tomshardware.com/reviews/ddr3-1333-speed-latency-shootout,1754-21.html
这取决于。
我的一部分想引用蜘蛛侠的话来回答你的
Is memory latency still a key factor in computer speed?
问题但这将忽略一小部分确实会发生的操作,即使不是那么频繁。如今,许多任务一次处理多个字节,而且这些字节中的许多通常是相邻的。
如果您的任务需要处理来自随机位置的一小段数据,那么延迟将是一个重要因素。
另一方面,如果您正在处理数据块,那么延迟只会在每个内存块传输开始时真正产生影响,并且取决于内存传输块的大小。现代存储器假设,像硬盘驱动器一样,需要多个连续字节,并且一次预取和“突发”8 个数据字。这种突发意味着延迟只适用于请求的开始,如果任务实际上也需要那些其他字节,那么它已经在 CPU 缓存中准备好以最小的延迟使用。
延迟会产生影响,但 CPU 可以通过切换到不等待内存访问的任务以及预测未来的内存需求和排队内存请求来减轻延迟。
带宽一直比延迟更重要,但延迟会在程序停止等待数据时增加一定程度的低效率。
除了延迟增加 30% = 性能降低 30% 之外,还有很多其他原因。在大多数情况下,CPU 缓存、预取和其他智能设计可以减轻延迟的影响。
这也是英特尔提倡超线程等技术提升高要求多线程任务性能的原因之一。如果您有两个任务在单个内核上运行,并且一个任务因内存请求而停止,那么另一个任务很有可能可以利用 CPU 资源。希望当任务停止时,第一个任务的内存请求已经完成,然后该任务可以再次运行,从而充分利用所有 CPU 资源。