内存通常比磁盘快多少?

时间:2009-09-03 04:11:07

标签: memory disk

IDE,SCSI,SSD,SATA或所有这些。

6 个答案:

答案 0 :(得分:39)

我很惊讶:本文中间的图3 The Pathologies of Big Data表示,当您进行顺序访问时,内存只会快6倍(内存为350 Mvalues /秒,而58 Mvalues则为/秒为磁盘);但是当你进行随机访问时,速度要快10万倍。

答案 1 :(得分:21)

随机存取存储器(RAM)需要几纳秒才能读取或写入,而硬盘驱动器(我所知道的IDE,SCSI,SATA)的访问速度则以毫秒为单位。

答案 2 :(得分:11)

2016硬件更新:实际读/写seq吞吐量

现在是Samsung 940 PRO SSD

  • 以3,500 MB /秒的速度阅读
  • 以2,100 MB /秒的速度写作

Ram got faster too

  • 读取速度为61,000 MB /秒
  • 以48,000 MB /秒的速度写作..

所以现在使用这个指标,当@ChrisW写下他的答案而不是100,000时,RAM看起来要快20倍。并且,当他写这个问题时,SSD比RAM快10倍。

一个重要的考虑因素是我们只测量内存带宽而非延迟

答案 3 :(得分:8)

答案 4 :(得分:7)

这与SCSI驱动器不完全相同,但是我认为每个程序员应该知道的延迟编号表可以帮助您了解速度以及不同延迟编号之间的差异,包括存储选项。

Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference                           0.5 ns
Branch mispredict                            5   ns
L2 cache reference                           7   ns                      14x L1 cache
Mutex lock/unlock                           25   ns
Main memory reference                      100   ns                      20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy             3,000   ns        3 us
Send 1K bytes over 1 Gbps network       10,000   ns       10 us
Read 4K randomly from SSD*             150,000   ns      150 us          ~1GB/sec SSD
Read 1 MB sequentially from memory     250,000   ns      250 us
Round trip within same datacenter      500,000   ns      500 us
Read 1 MB sequentially from SSD*     1,000,000   ns    1,000 us    1 ms  ~1GB/sec SSD, 4X memory
Disk seek                           10,000,000   ns   10,000 us   10 ms  20x datacenter roundtrip
Read 1 MB sequentially from disk    20,000,000   ns   20,000 us   20 ms  80x memory, 20X SSD
Send packet CA->Netherlands->CA    150,000,000   ns  150,000 us  150 ms

这是一个很好的视觉表示形式,可以帮助您更好地理解音阶: https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html

答案 5 :(得分:2)

  

访问RAM大约为纳秒(10e-9秒),   访问磁盘或网络上的数据时,顺序为   毫秒(10e-3秒)。

来自Node.JS设计模式