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。

 

 

 

 

 

 

posted @ 2009-06-09 12:19  81  阅读(638)  评论(0编辑  收藏  举报