Ramdisk磁盘速度有多快?
最近有个项目可能会使用磁盘在两个模块之间交换数据,并且对交换性能要求较高,由此自然想到了使用内存盘,但内存磁盘速度到底有多快?这个问题还是需要自己测试,为此从网上下载了免费、绿色的Ramdisk软件,虚拟了一个512M的内存盘,以下是测试结果:
一。用HD Speed软件测试(此处是Read速度,写性能需要清空一个盘符,不好测):
磁盘:50M/S
内存盘:2.2G/S
结论:读相差40倍
二。自己写软件测试Read、Write速度:
代码很简单,示例如下:
using (FileStream fs = new FileStream(this.textBox1.Text, FileMode.Create))
{ byte[] buf = new byte[int.Parse(this.textBox2.Text) * 1024 * 1024];
fs.Write(buf, 0, buf.Length); }
测试分别按读写1M、10M、50M文件比较:
文件大小 磁盘读/内存盘读 磁盘写/内存盘写
1M 2ms / 1ms 60ms / 4ms
10M 25ms / 25ms 240ms / 40ms
50M 160ms/158ms 1050ms / 200ms
以上可以看出:
读性能差不多,但写性能基本相差一个数量级。又一想内存和磁盘读速度不可能差这么接近,估计应该是读磁盘时有缓存,故再从磁盘上读一个未读过的50M左右文件,读取时间为1796ms,再读第二次时速度又提高到160ms。