假设以下内容...
输出:
文件已打开...
数据被“流式”写入磁盘。内存中的数据位于一个大的连续缓冲区中。它是以其原始格式直接从该缓冲区写入磁盘的。缓冲区的大小可配置,但在流的持续时间内固定。缓冲区依次写入文件。不进行任何搜索操作。
...文件已关闭。
输入:
从头到尾读取一个大文件(按上述方式顺序写入)。
C ++中实现最快速顺序文件I / O的通常接受的准则是否存在?
一些可能的考虑因素:
- 选择最佳缓冲区大小的准则
- 像boost :: asio这样的可移植库是否过于抽象,无法暴露特定平台的复杂性,或者可以假定它们是最佳的?
- 异步I / O是否总是优于同步I / O?如果应用程序没有CPU限制会怎样?
我知道这将考虑到特定的平台。 我欢迎通用准则,以及针对特定平台的评论。
(我最紧急的兴趣在Win x64上,但我还对Solaris和Linux的评论感兴趣)
cp
命令吗?我觉得我漏掉了什么... - Steve Schnepp