随机写Vs寻求时间

时间:2011-07-11 11:55:11

标签: random

我在这里有一个非常奇怪的问题......

我正在尝试将数据随机写入100 MB的文件中。

数据大小为4KB,随机偏移量为页面分配。(4KB)。

我试图在100 MB文件上以随机偏移量写入1 GB数据。

如果删除将数据写入磁盘的实际代码,整个操作只需不到一秒钟(比如说0.04秒)。

如果我保留写入数据的代码需要几秒钟。

在随机写操作的情况下,内部会发生什么?成本是寻求时间还是写入时间?从上面的情况来看,它确实令人困惑...... !!!!

请有人深入解释....

应用顺序偏移的相同过程,写入非常快。

谢谢......

1 个答案:

答案 0 :(得分:1)

如果你正在写整个文件,那么磁盘(我认为这是在磁盘上)需要在每次写入时寻找新的位置。 而且,硬盘的写入速度并不特别惊人。 为了举例说明(取自WD Raptor EL150),我们的搜索时间为5.9毫秒。如果你在4KB块中随机到处写1GB,你需要1,000,000,000÷4,000×0.0059秒=总寻宝时间约为1,400秒!