繁体   English   中英

用c ++编写大文件

[英]Writing large files in c++

我正在写大文件,范围从70 - 700gb。 有没有人有经验,如果内存映射文件比常规写入块更有效? 代码将使用c ++并在linux 2.6上运行

如果从头开始和之后编写文件,则无法从映射文件的内存中获取任何内容。

如果您以任何其他模式编写文件,请更新问题:)

消费级驱动器的典型持续硬盘传输速度大约为每秒60兆字节,阳光照射,背面微风,文件系统不会太碎片,因此磁盘驱动器头不必经常寻找。

因此,写入700千兆字节所需时间的硬下限是700 * 1024/60 = 11947秒或3小时20分钟。 没有多少缓冲可以解决这个问题,它会很快被磁盘写入速度与处理器填充消防水带的能力之间的巨大不匹配所淹没。 只有在需要几倍的时间后才开始在代码或磁盘驱动器状态中查找问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM