我在这里有一个非常奇怪的问题......
我正在尝试将数据随机写入100 MB的文件中。
数据大小为4KB,随机偏移量为页面分配。(4KB)。
我试图在100 MB文件上以随机偏移量写入1 GB数据。
如果删除将数据写入磁盘的实际代码,整个操作只需不到一秒钟(比如说0.04秒)。
如果我保留写入数据的代码需要几秒钟。
在随机写操作的情况下,内部会发生什么?成本是寻求时间还是写入时间?从上面的情况来看,它确实令人困惑...... !!!!
请有人深入解释....
应用顺序偏移的相同过程,写入非常快。
谢谢......
答案 0 :(得分:1)
如果你正在写整个文件,那么磁盘(我认为这是在磁盘上)需要在每次写入时寻找新的位置。 而且,硬盘的写入速度并不特别惊人。 为了举例说明(取自WD Raptor EL150),我们的搜索时间为5.9毫秒。如果你在4KB块中随机到处写1GB,你需要1,000,000,000÷4,000×0.0059秒=总寻宝时间约为1,400秒!